您的位置:首页 > 其它

设计模式的七大原则

2014-12-03 11:24 232 查看

单一职责原则(Single Responsibility Principle)

系统中的每一个对象应该只有一个单独的职责,而所有对象所关注的就是自身职责的完成

一个合理的类对外只提供一种功能,而引起类变化的原因应该只有一个

里氏替换原则(Liskov Substitution Principle)

在任何父类出现的地方都可以用它的子类代替

在同一个继承体系中的对象应该有共同的行为特征

里氏替换原则关注的是怎样良好的使用继承,也就是说不要滥用继承,它是继承复用的基石

依赖注入原则(Dependence Inversion Principle)

在应用程序中,所有类如果使用或者依赖于其他的类,则都应该依赖于这些其他类的抽象类,而不是这些其他类的具体实现类

抽象层次应该不依赖具体的实现细节,这样才能保证系统的可复用性和可维护性

依赖注入原则的本质就是通过抽象(抽象类或借口)使各个类或模块的实现彼此独立,不互相影响,实现模块间的松耦合

接口分离原则(Interface Segregation Principle)

一个接口不需要提供太多的行为,应该只提供一种对外的功能(这里的接口不仅仅是通过interface关键字定义的接口,还包括对象接口,如Phone phone = new Phone())

接口分离原则要求在一个模块中应该只依赖它需要的接口,这就要求设计接口的时候应该尽量细化

接口分离原则与单一职责原则有些类似,不同之处在于:单一职责原则要求的是类和接口职责单一,注重的是职责,是业务逻辑上的划分;而接口分离原则要求的是接口的方法尽量少,针对一个模块尽量有用

迪米特原则(Law Of Demeter)

一个对象应该对其他对象尽可能少地了解,意思就是降低各个对象之间的耦合,提高系统的可维护性

在模块之间,应该只通过接口通信,而不理会模块的内部工作原理,它可以使各个模块耦合度降到最低,促进软件的复用

开闭原则(Open for Extension,Closed for Modification)

对象应该对扩展开放,对修改关闭

对类的改动是通过增加代码进行的,而不是改动现有的代码

也就是说,开发人员一旦写出可以运行的代码,就不应该去改变它,这就需要借助于抽象和多态来实现,即把可能变化的内容抽象出来,从而使抽象的部分是相对稳定的,而具体的实现是可以改变和扩展的

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: