读书笔记:设计原则和设计模式

1.设计原则

1.单一职责原则

定义:应该有且仅有一个缘由引发类的变动。java

2.里氏替换原则

定义:全部引用基类的地方必须能透明地使用其子类的对象算法

四层含义:编程

1.子类必须彻底实现父类的方法设计模式

2.子类能够有本身的个性框架

3.覆盖或实现父类的方法时输入参数能够被放大函数

4. 覆写或实现父类的方法时输出结果能够被缩小spa

3.依赖倒置原则

定义:高层模块不该该依赖低层模块,二者都应该依赖其抽象;抽象不该该依赖细节;细节应该依赖抽象。设计

java中含义:(面向对象编程)代理

1.模块间的依赖经过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是经过接口或抽象类产生的;对象

2.接口或抽象类不依赖于实现类;

3.实现类依赖接口或抽象类。

4.接口隔离原则

含义:

1.客户端不该该依赖它不须要的接口;

2.类间的依赖关系应该创建在最小的接口上。

衡量接口是否知足隔离原则:

1.一个接口只服务于一个子模块或业务逻辑;

2.经过业务逻辑压缩接口中的public方法,接口时常去回顾,尽可能让接口达到“满身筋骨肉”,而不是“肥嘟嘟”的一大堆方法。

5.迪米特法则(最少知识原则)

含义:一个对象应该对其余对象有最少的了解。

理解:对所调用的类不须要知道内部实现细节。

6.开闭原则

含义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭

理解:对功能的扩展时,要扩展原有接口或类,不要去修改已经正在实用的类。

2.设计模式

1.单例模式

含义:确保某一个类只有一个实例,并且自行实例化并向整个系统提供这个实例。

2.工厂方法模式

定义:定义一个用于建立对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。

理解:须要传入被建立类的class,经过反射建立实例对象。

3.抽象工厂模式

定义:为建立一组相关或相互依赖的对象提供一个接口,并且无须指定它们的具体类。

理解:不须要传入class,由工厂建立方法直接new 对象出来。

4.模板方法模式

定义:定义一个操做中的算法的框架,而将一些步骤延迟到子类中。使得子类能够不改变一个算法的结构便可重定义该算法的某些特定步骤。

理解:在抽象类中实现基本方法,在该基本方法中能够调用在子类中才实现的方法。

5.建造者模式

定义:将一个复杂对象的构建与它的表示分离,使得一样的构建过程能够建立不一样的表示。

理解:建立对象和对象行为分离开来,建立这能够生产各类类型的对象。

6.代理模式

定义:为其余对象提供一种代理以控制对这个对象的访问。

理解:用户调用时使用代理类,真正执行时代理方法调用的是原始类的方法。

相关文章
相关标签/搜索