标签:
单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因。--->解耦,增加内聚性
SRP使得代码复用变得简单。如果某段代码有一系列功能,就很难复用你想要的那部分功能代码。
SRP使得维护变得简单。如果有多个功能,那么修改其中一个功能时可能影响到其他功能。
开放-封闭原则(OCP): 是说软件实体(类,模块,函数等等)应该可以扩展,但是不可修改。
设计类时尽量考虑周全,减少将来修改的可能性(但是也不可能完全做到不用修改)
变化发生时,创建抽象来隔离以后发生的同类变化。
迪米特法则:(LoD,也叫最少知识原则)如果两个类不必彼此直接通信,那么这两个类就不应发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
依赖倒转原则:A.高层模块不应该依赖低层模块。两个都应该依赖抽象。
B.抽象不应该依赖细节。细节应该依赖抽象。
比如实现某个函数访问数据库就是依赖低层模块,这只对特定情况有效,如果改变查询的对象,虽然高层模块逻辑是一样,却因为依赖低层模块而不能复用。
其实就是针对接口编程,不要对实现编程。
里氏代换原则(LSP):子类型必须能够替换掉它们的父类型。
面向对象4个优点:可维护,可扩展,可复用,灵活性好
标签:
原文地址:http://www.cnblogs.com/programmer-kaima/p/4463872.html