设计模式学习笔记

来源:互联网 发布:怎样集中注意力 知乎 编辑:程序博客网 时间:2024/06/08 02:32
策略模式:
用于情景:
鸭子行为,鸭子类型可以继承,鸭子行为变成接口,各种各样的行为去实现接口,然后在具体类中调用行为接口具体实现子类。
游戏玩家武器变换。

观察者模式:
用于场景
主题-----观察者
天气预报数据展示,当气象站收集到新的数据时,像各个面板推送最新的数据,面板显示最新数据。

装饰者模式:
用于场景
饮料加调料
调料将饮料一层一层包装。

工厂模式
简单工厂模式:直接创建一个工厂,使用时从工厂拿。
工厂模式:Pizza经典例子
应用:一般在提供API接口可以使用,使用轻易反射实现。

单例模式:
用于某些只有一个对象时。

命令模式:
遥控器的经典例子,操控各个电器的开关。

适配器模式:
2插口变3插口的经典例子

外观模式:
为了更方便的使用,使用一个类对各个类调用,有点像遥控器,家庭影院经典例子。

模板模式:
其实就是把继承抽象类,抽象类实现了部分共同的功能,剩下的抽象方法由子类完成,还有就是一般模板有一个实现了的空的方法,并丢出不支持该操作的异常,子类可以实现也可以不实现,称为钩子

迭代器模式:
餐厅多张菜单的经典例子,每张菜单都有一个自己的迭代器,服务员只需要获取菜单迭代器就可以打印,但这不适合有2级菜单的情况。
组合模式:
同样是餐厅多张餐单,但菜单下还有2级菜单。创建一个抽象类MenuComponent,所有餐厅的菜单都继承,并且有自己的打印方法,在服务员这只要运行打印就可以,迭代放在自己的打印方法中。



原创粉丝点击