昨天整理了下soild原则。有人需要pdf英文版详细资料请留下邮箱。如下:
S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。
SRP The Single Responsibility Principle 单一责任原则
OCP The Open Closed Principle 开放封闭原则
LSP The Liskov Substitution Principle 里氏替换原则
DIP The Dependency Inversion Principle 依赖倒置原则
ISP The Interface Segregation Principle 接口分离原则
一、SRP单一责任原则:
1、含义:
当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。
换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的责任的时候,就需要分解这个类。
SRP中,把职责定义为“变化的原因”。
如果你能想到N个动机去改变一个类,那么这个类就具有多于一个的职责。这里说的“变化的原因”,只有实际发生时才有意义。可能预测到会有多个原因引起这个类的变化,但这仅仅是预测,并没有真的发生,这个类仍可看做具有单一职责,不需要分离职责。如果分离,会带来不必要的复杂性。如果发现一个类有多于一个的职责,应该尽量解耦。如果很难解耦,也要分离接口,在概念上解耦。
2、好处:
a. 代码的可复用性
b. 函数变短,可读性增强
c. 不存在重复代码,结构精炼
d. 函数功能单一,容易被替换