Design Patterns
fzzjoy
Code Change World
展开
-
状态模式
状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式主要解决的是当控制一个对象的状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。 状态模式通过把各种状态转移逻辑分布到State的子类之间,来减少相互间的依赖。当一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它原创 2016-03-29 19:06:54 · 292 阅读 · 0 评论 -
建造者模式
建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式结构图: 建造者模式的好处就是使得建造代码与表示代码分离,由于建造者隐藏了该产品是如何组装的,所以若需要改变一个产品的内部表示,只需要在定义一个具体的建造者就可以了。原创 2016-03-29 19:15:34 · 375 阅读 · 0 评论 -
适配器模式
适配器模式(Adapter):将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 其结构图如下:原创 2016-04-01 14:52:14 · 255 阅读 · 0 评论 -
备忘录模式
备忘录(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 其结构图如下所示: Memento模式比较适用于功能比较复杂的,但需要维护或记录属性历史的类,或者需要保存的属性只是众多属性中的一小部分时,Originator可以根据保存的Memento信息还原到前一状态。原创 2016-04-01 15:59:47 · 394 阅读 · 0 评论 -
观察者模式
观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己, 降低了被观察者与观察者之间的耦合。 观察者模式结构图: 总体来说,观察者模式所做的工作其实就是在解除耦合。让耦合的双方都依赖于抽象,而不是依赖于具体。从而使得各自的变化都不会影响另一边的变化。原创 2016-03-28 15:48:43 · 303 阅读 · 0 评论 -
六大程序设计原则
依赖倒转原则:抽象不应该依赖细节,细节应该依赖于抽象。简单的说就是要针对接口编程,不要针对实现编程。 迪米特原则:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。其根本思想,是强调了类之间的松耦合。 里氏代换原则:子类型必须能够替换掉它们的父类型。也就是说一个软件实体如果使用的是一个父类的话,那么一原创 2016-03-28 15:49:34 · 510 阅读 · 0 评论 -
工厂模式
工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其它子类。 工厂模式结构图:原创 2016-03-28 19:16:42 · 311 阅读 · 0 评论