随笔分类 - 设计模式
摘要:一、抽象工厂模式的定义 为创建一组相关或相互依赖的对象提供一个接口,而且无须指定它们的具体类。 二、抽象工厂模式的应用 1.抽象工厂模式的优点 封装性,每个产品的实现类不是高层模块要关心的,它要关心的是什么?是接口,是抽象,它不关心对象是如何创建出来的,这由谁负责呢?工厂类,只要知道工厂类是谁,我就
阅读全文
摘要:一、工厂方法模式定义 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 二、工厂方法模式的应用 1.工厂方法模式的优点 首先,良好的封装性,代码结构清晰。一个对象创建是有条件约束的,如一个调用者需要一个具体的产品对象,只要知道这个产品的类名(或约束字符串)
阅读全文
摘要:一、单例模式定义 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 二、单例模式的应用 1.单例模式的优点 由于单例模式再内存中只有一个实例,减少了内存开支,特别是一个对象需要频繁地创建、销毁时,而且创建或销毁时性能又无法优化,单例模式的优势就非常明显; 由于单例模式只生成一个实例
阅读全文
摘要:本文主要讲迪米特法则和开闭原则。 一、迪米特法则 1.定义 迪米特法则也称最少知道原则,虽然名字不同,但描述的是同一个规则:一个对象应该对其他对象有最少的了解。通俗地讲,一个类应该对自己需要耦合或调用的类知道得最少,你(被耦合或调用的类)的内部是如何复杂都和我没关系,那是你的事情,我就知道你提供的这
阅读全文
摘要:本文主要讲依赖倒置原则和接口隔离原则。 一、依赖倒置原则 1.定义 高层模块不应该依赖低层模块,两者都应该依赖其抽象; 抽象不应该依赖细节; 细节应该依赖于抽象; 高层模块和低层模块容易理解,每一个逻辑的实现都是由原子逻辑组成的,不可分割的原子逻辑就是低层模块,原子逻辑的再组装就是高层模块。 那什么
阅读全文
摘要:本文主要讲单一职责原则和里氏替换原则。 一、单一职责原则 1.定义 应该有且有一个原因引起类的变更。 2.单一职责原则的好处 好处如下: 类的复杂性降低,实现什么职责都有明确清晰的定义; 可读性提高,复杂性降低,那当然可读性提高; 可维护性提高,可读性提高,那当然更容易维护了; 变更引起的风险降低,
阅读全文