![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
pablo24
这个作者很懒,什么都没留下…
展开
-
设计模式(6)--命令模式(遥控器和餐厅)
Intent将“请求”封装成对象,以便使用不同的请求队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。原创 2020-12-11 16:30:15 · 132 阅读 · 0 评论 -
设计模式(5)--三种工厂模式(披萨店)
工厂方法工厂方法Intent定义了一个创建对象的接口,但是由子类决定要实例化的类是哪一个。工厂方法让类把是实例化推迟到子类。抽象工厂Intent提供一个接口,用于创建相关或依赖对象的家族,而不需要指明具体类。...原创 2020-12-09 23:40:26 · 288 阅读 · 0 评论 -
设计模式(4)--装饰者模式(咖啡机)
问题不同咖啡加调料,用继承,不灵活,修改和添加方法都不方便。还有比如要双份mocha开闭原则问题扩展开发,修改关闭 冲突?事实证明,有一些聪明的OO技术允许系统扩展,即使我们不能更改底层代码。想想观察者模式(第二章)。。。通过添加新的观察者,我们可以随时扩展主题,而无需向主题添加代码。2、每个部分都需要遵守吗?遵循ocp通常会引入新的抽象层次,增加代码的复杂度。每个地方都是用会是一种浪费,也没必要,还会导致代码复杂且难以理解。动机Intention动态地将职责附加到对象身上,若要扩展原创 2020-12-09 21:39:04 · 197 阅读 · 0 评论 -
设计模式(3)--观察者模式
动机定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,他的所有依赖者都会收到通知并自动更新。这和一对多有什么关系利用观察者模式,主题是具有状态的对象,并且可以控制这些状态。也就是说有“一个”具有状态的主题。另一方面,观察者使用这些状态,状态不属于他们。有许多观察者依赖主题来告诉他们状态何时改变。 这样就产生了关系:“一”主题对“多”观察者依赖如何产生主题是数据的拥有者,有许多观察者依赖主题来告诉他们状态何时改变。比起许多对象控制同一份数据来,可以得到更干净的oo设计。松耦合原意:两原创 2020-12-09 20:49:09 · 175 阅读 · 0 评论 -
设计模式(2)--状态模式
初试“自动机”设计加入一个状态,问题出现设计不是面向对象的。状态转换不清晰,多条条件分支语句没有封装变化没遵循开闭原则进一步的增加状态会导致bug新设计将状态封装到各自类中,当动作发生时委托给当前状态。Intent动机允许对象在内部状态改变时,改变他的行为,对象看起来好像修改了它的类。跟策略模式对比1、意图不同:策略模式是定义一个算法家族,将他们封装起来,使得他们之间可以相互替换。 状态模式是将一个个状态封装成一个个类,当内部状态发生改变时,改变他们的行为。2、策略..原创 2020-12-09 19:33:00 · 149 阅读 · 0 评论