1. 单一职责原则(Single responsibility principle)
概念:顾名思义,单一原则主要是说,应该有且只有一个原因引起类的变化,一个类只负责一个职责。如果一个类有多个职责,这些职责就耦合在了一起。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起会影响复用性。
此原则的核心是解耦和增强内聚性。
2. 里氏替换原则 (Liskov Substitution Principle)
概念:任何类出现的地方子类都可以出现。
举例:比如classA 有两个方法 func1,func2,那么他的子类也必须实现这两个方法,引用classA的地方也可以替换引用classA的子类实例
3.开闭原则(Open Close Principle)
概念:对扩展开放,对修改关闭。对一个类或者程序进行扩展时候,应该支持一个热拔插效果,就是不改变原有类的前提下,可以进行修改。
举例:比如OC里面的category,还有继承也可以实现开闭原则。
4.依赖倒置原则(Dependence Inversion Principle)
概念:这个原则是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于具体。
举例:比如,person 驾驶福特汽车,可以写,drive:futeCar,但是person
也可以驾驶比亚迪汽车,这时候就应该抽象出驾驶汽车这个接口,person依赖汽车驾驶接口,而不是依赖具体某一种汽车类型
5.接口隔离原则(Interface Segregation Principle)
概念:就是尽可能根据功能使用多个不同种类的接口,而不是把多种功能放在一个接口上。
这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。它还有另外一个意思是:降低类之间的耦合度。由此可见,其实设计模式就是从大型软件架构出发、便于升级和维护的软件设计思想,它强调降低依赖,降低耦合。
6.迪米特法则,又称最少知道原则(Demeter Principle)
概念:一个类调用另一个类实现时候,不需要知道另一个类的更多实现,一个类应该对自己需要耦合或调用的类知道的最少,只需要知道自己所需要使用的内容,或者只知道需要调用的接口。
网友评论