Skip to content

Sychos/design-patterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

design-patterns

趣味中谈设计模式,每个模式都会有tag标记

策略模式

本次模式将模拟一个动作冒险游戏,可以选择一个角色,可以使用一种武器,但是武器一次只能使用一种。但是可以更换武器

观察者模式

本次模式将模拟一个气象站,当有新数据时,气象站就去更新不同的公告栏。分别为:当前状况,气象统计,简单预测

装饰者模式

本次模式将模拟一个咖啡馆,顾客需要各种类型的咖啡(如综合HouseBlend、深培DarkRoast、低咖啡因Decaf、浓缩咖啡Espresso),并且会需要各种调味品(如:蒸奶Milk、豆浆Soy、摩卡mocha)

工厂模式

本此模式将模拟一个披萨店,用来生产各个地方,各种口味的披萨(注意,此地方和口味为2维变化)

单例模式

本次模式将模拟一个高压锅炉,显而易见,维护此锅炉的类实例不应该超过一个,不然稍有不慎就会炸炉,为安全起见,我们需要设计一种无论什么情形下都只会有一个实例的类

命令模式

本次命令将会模拟一个餐厅,顾客需要点餐并填好菜单,服务员只需要将菜单拿给厨师,然后厨师根据菜单做菜

适配器模式

本次模式将模拟一个丑小鸭变天鹅的故事

外观模式

本次模式将模拟一个搭建家庭影院的故事

模板方法模式

本次模式将模拟一个咖啡馆泡咖啡和茶的故事

迭代器模式

本次模式将模拟怎么方便用一种方式的读取两个厨师两种不同风格的菜单的故事

组合模式

本次模式将模拟继续上一个故事,老板需要在晚餐的菜单项中新加甜点菜单,这个把服务员急坏了,因为她在前一项中的迭代器将会失效。

状态模式

在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。

代理模式

在代理模式中,我们用客户端调用远程的对象的方法,就像在本地调用本地方法一样。起作用的是远程对象,但是客户端看到的就像是他在调用本地对象

About

趣味中谈设计模式

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages