设计模式的几大原则

1.单一职责原则

类的职责要单一,不能将太多的职能放在一个类中。

2.开闭原则

软件实体对扩展是开放的,但对修改是关闭的,即在不修改一个软件的基础上去扩展其功能。实现开闭原则的关键是抽象化,找到系统的可变因素,将它封装起来。

3.里氏替换原则

一个可以接受基类对象的地方必然可以接受一个子类对象。在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,使用子类来替换父类对象。

4.依赖倒转原则

要针对抽象层编程,而不要针对具体类编程。

5.接口隔离原则

不应该依赖那些它不需要的接口,使用多个专门的接口来取代一个统一的接口。

6.合成复用原则

系统中应该尽量多使用组合/聚合关系,少用甚至不用继承关系。

在面向对象设计中,可以通过两种基本方法来复用已有的设计和实现,即通过组合/聚合关系或者通过继承。

继承复用:实现简单,易于扩展。但是破坏系统的封装性。从基类继承而来的实现是静态的,不可能在运行时发生改变,没有足够的灵活性,只能在有限的环境中使用。(“白箱”复用)

组合/聚合复用:耦合度相对较低,选择性地调用成员对象的操作,可以在运行时动态进行。(“黑箱”复用)

7.迪米特法则

一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,减少类之间的耦合度。

posted @ 2016-12-28 08:43  pinhole  阅读(531)  评论(0编辑  收藏  举报