面向对象的三大特征、六个原则

三大特征编程

封装:  一个类封装了数据以及操做数据的代码逻辑体。定义了数据的可访问属性(私有、公有)架构

继承 : 可让一个类型获取另一个类型的属性的方式。分为实现继承和接口继承框架

多态 : 类实例的一个方法在不一样情形下有不一样的表现形式,即不一样的外在行为。使具备不一样的内部结构的对象能够共享相同的外部接口。  .net

六大原则设计

单一功能原则 : 每一个类型(包括接口和抽象)功能要求单一,只负责一件事情。下降代码复杂度,增长可读性可维护性,只有在逻辑足够简单、类中的方法足够少时才能够在代码级别上违反单一职责原则。职责被分解为不少细粒度的职责,程序已经写好的状况下,分解类开销大(分解意味着零散,加载变的复杂,阅读也变得复杂),修改类虽然违反单一职责原则,可是是个不错的选择。对象

 
开放封闭原则:一个软件实体应该对扩展开发,对修改关闭。可扩展可是不可更改。
     核心:用抽象构建框架,用实现类实现扩展。
 
替换原则(里氏代换原则):子类可以替换父类,出如今父类可以出现的任何地方
     当使用继承时,尽可能遵循历史替换原则,尽可能不要去重写或者重载父类的方法,以避免破坏整个继承体系的 。由于父类在定义或者实现某些方法时,规定了必须遵照的规则和契约。

     LSP原则是:只要父类能出现的地方子类就能够出现,并且替换为子类还不产生任何错误或异常。怎么作到:blog

                      子类重载父类方法,方法的前置条件要比父类更宽松继承

                      子类实现父类的抽象方法时,方法的后置条件要比父类更严格。接口

 
依赖原则:具体依赖抽象,上层依赖下层。核心思想是面向接口编程。
     两个模块之间依赖的应该是抽象(接口或抽象类)而不是细节。细节(实现类)依赖于抽象。
依赖原则基于的事实:相对于实现类的多变性,抽象的东西要稳定得多,基于抽象的构架也比基于实现的架构更加稳定,且扩展性更高
 
接口分离原则:模块间要经过具体接口分离开,而不是经过类强耦合。例如A类对B类的依赖,能够抽象接口I,B实现I,A类依赖I来实现。可是抽象接口必须功能最小化(与单一功能原则有点不谋而合)。
 
迪米特原则:最小依赖原则,一个类对其余类尽量少的了解,只与朋友通讯。下降耦合
 

单一职责原则:职责单一。开发

里氏替换原则:不要破坏继承体系结构。

依赖倒置原则:面向接口编程

接口隔离原则:设计接口时要精简单一。

迪米特原则:下降耦合

这五个原则都是开源原则的注意事项,开闭原则是一切编程的出发点和目的

参考:https://blog.csdn.net/seek24/article/details/13293947

相关文章
相关标签/搜索