一、单一职责原则
1.原则:两个完全不一样的功能不能放在一个类中,一个类应该是一组相关性很高的函数、数据的封装
2.如何划分一个类的职责 因人而异,单一要根据个人的经验、具体的业务来定
3.比如图片加载和缓存应该放在不同的类中
二、开放关闭原则
1.原则:软件中的函数、对象,应该对于扩展是开放的,对于修改是封闭的
2.当软件需要变化时,应该尽量通过扩展的方式,而不是修改已有的代码
三、里氏替换原则
1.原则:所有引用基类的地方,必须能透明地使用其子类的对象
2.只要父类出现的地方,子类就可以出现,替换为子类也不影响。但是反之不行。
3.核心是抽象,抽象又依赖于继承。建立抽象,通过抽象建立规范,具体的实现在继承时替换掉。往往和开闭原则一起,通过接口和抽象的方式
四、依赖倒置原则
1.原则:实现类直接不直接发生依赖关系,其依赖关系通过接口或抽象类产生,即:面向接口编程
2.java中,抽象指接口或抽象类,两者不能直接被实例化;细节是实现接口或继承抽象类的实现类,可以直接被实例化,new一个对象
五、接口隔离原则
1.原则:类之间的依赖关系应该建立在最小接口上。让客户端依赖的接口尽可能小,解耦合。
2.前五个职责总结为:单一职责、抽象、最小化
六、迪米特原则
1.最少知识原则:一个对象应该对其他对象有最少的了解。因为关系越密切,则耦合度越大
2.只与直接的朋友通信

网友评论