设计模式:面向对象设计原则

1、单一性原则

一个类只负责一个功能。

2、3、4原则通常结合使用,共同形成多态。

2、开闭原则

在软件功能扩展时,只增加代码,不修改代码。
或者至修改配置文件,不修改源代码。

3、里式代换原则

能使用父类方法的地方,都能使用该父类的子类,替换后程序功能不变。
其实就是多态:父类引用指向子类对象。

4、依赖倒转原则

面向父类编程,在程序运行时候使用子类实现不同功能。
也是多态的手段。一般会调用父类功能,然后修改程序功能时只需要修改传入不同子类。
子类可以扩展,然后具体调用那些子类可以写到配置文件中,这样修改扩展只需要修改配置文件就行。

5、接口隔离原则

接口的设计不能功能太多,否则有些客户端调用只使用部分接口功能,却要实现它根本不用的方法。
应该将接口拆分,每个接口负责一部分功能,这样通过适配不同接口的组合形成各种功能的子类。

6、合成复用原则

尽量不使用继承来复用代码,而是使用关联(如依赖注入,将要使用的类注入到使用类里)。这样如果需要扩展使用类的功能,则可以写一个使用类的子类,用在注入使用类的地方注入使用类的子类。就能在不修改原来代码基础上扩展程序功能了(因为子类方法覆盖了父类原来方法,实现了新的功能)。

7、迪米特法则(最少知识原则)

一个类尽量少的与其它类关联,否则在做出修改后很容易影响其它类。降低系统耦合性。
如UI设计中,点击一个按钮引起很多地方改变,一个按钮类如果直接和其他很多类关联,在修改按钮功能或者加入新按钮时,要修改代码的地方很多,容易出错。可以加入一个中间类,按钮类通过这个中间类与其他类通信,这样在修改了按钮功能或者加入新按钮只需要修改中间类就行了。

posted @ 2018-12-29 09:03  xuejianbest  阅读(79)  评论(0编辑  收藏  举报