设计模式遵循的六大原则
Posted xingrui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式遵循的六大原则相关的知识,希望对你有一定的参考价值。
1、单一职责原则(Single Responsibility Principle)
定义:单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因。
单一职责原则是实现高内聚、低耦合的指导方针;它需要开发人员发现类的不同职责并将其分离。难点就在于怎么分离?那就是如果你能够想到多于一个的动机去改变一个类,那么这个类就具多余一个的职责。
2、开发-封闭原则(Open-Closed Principle)
定义:软件实体(类、模块、函数等等),应该可以扩展,但是不可以修改。
无论模块是多么的“封闭”,都会存在一些无法对之封闭的变化。既然不可能完全封闭,设计人员必须对于他设计的模块应该对哪种变化封闭做出选择。他必须先猜测出最有可能发生的变化种类,然后构造抽象来隔离那些变化。
由于我们不会预测未来,所以在我们最初编写代码时,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。
3、依赖倒转原则(Dependency Inversion Principle)
定义:1、高层模块不应该依赖低层模块。两个都应该依赖抽象。
2、抽象不应该依赖细节,细节应该依赖抽象。
为什么叫倒转?就是开发时,为了使得常用代码可以复用,一般都会把这些常用代码写成许多函数库,以便后面做新项目时,去调用这些底层的函数。这就叫做高层模块依赖低层模块。看起来没什么事,但是如果需要更换数据库或者存储信息方式,这时就会有问题。底层模块更换影响到高层模块,也会影响到其他模块。
4、里氏替换原则(Liskov Substitution Principle)
定义:子类型必须能够替换掉他们的父类型。
引用:详细解说
5、接口隔离原则(Interface Segregation Principle)
定义:1、客户端不应该依赖它不需要的接口
2、一个类对另一个类的依赖应该建立在最小的接口上。
引用:详细解说
6、迪米特法则(Law of Demeter)又叫:最少知识原则
定义:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
其根本思想是:强调类之间的松耦合。类之间的耦合越弱,越有利于复用,一个处在若耦合的类被修改,不会对有关系的类造成波及。
以上是关于设计模式遵循的六大原则的主要内容,如果未能解决你的问题,请参考以下文章