摘要:
理论 备忘录(Memento)模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 备忘录模式应用场景: 1. 比较适用于功能比较复杂,但需要维护或记录属性历史的类,或者需要保存的属性只是众多属性中的一小部分,Originato 阅读全文
摘要:
理论 适配器模式(Adapter),将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式可分为两种类型:类适配器模式和对象适配器模式。这里是以对象适配器为例。 适配器模式的应用场景: 系统的数据和行为都正确,但接口不符 阅读全文
摘要:
理论 状态模式(State),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。 状态模式的优点: 将与特定状态相关的行为局部化, 阅读全文
摘要:
理论 抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 抽象工厂模式的优点: 1. 最大的好处是易于交换产品系列,由于具体工厂类,在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,它只需要改变具 阅读全文
摘要:
理论 观察者模式,定义了一对多得依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模式又叫做发布-订阅(Publish/Subscribe)模式。 观察者模式的特点: 将一个系统分割成一系列相互协作的类有一个很不好的副 阅读全文
摘要:
理论 建造者模式(Builder):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 又叫生成器模式。建造者模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。如果用了建造者模式,那么用户就只需指定需要建造的类型就可 阅读全文
摘要:
理论 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个搞成接口,这个接口使得这一系统更加容易使用。 完美体现了依赖倒转原则和迪米特法则的思想。 外观模式的使用场景: 首先,在设计初期阶段,应该要有意识地将不同地两个层分离,比如经典地三层架构,就需要考虑在数据访问层和 阅读全文
摘要:
理论 迪米特法则(LoD):如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。 迪米特法则也叫最少知识法则。 迪米特法则首先强调的前提是在类的结构设计上,每一个类都应当尽量降低成员的访问权限,也就是说一个类 阅读全文
摘要:
理论 模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 AbstractClass是抽象类,其实也就是一个抽象模板,定义并实现了一个模板方法。这个模板方法一般是一个具体方法,它给出了一个顶级逻辑骨架,而逻辑的 阅读全文