面向对象设计的八大原则

来源:互联网 发布:html中的input调用js 编辑:程序博客网 时间:2024/06/01 11:16

设计的八大原则


开-闭原则(目标、总的指导思想)Open Closed Principle


对扩展开放,对修改关闭。


增加新功能,不改变原有代码。


类的单一职责(一个类的定义)Single ResponsibilityPrinciple


一个类有且只有一个改变它的原因。


适用于基础类,不适用基于基础类构建复杂的聚合类。


依赖倒置(依赖抽象)Dependency Inversion Principle


客户端代码(调用的类)尽量依赖(使用)抽象的组件。


抽象的是稳定的。实现是多变的。


组合复用原则(复用的最佳实践)Composite Reuse Principle


如果仅仅为了代码复用优先选择组合复用,而非继承复用。


组合的耦合性相对继承低。


里氏替换(继承后的重写,指导继承的设计)Liskov Substitution Principle


父类出现的地方可以被子类替换,在替换后依然保持原功能。


子类要拥有父类的所有功能。


子类在重写父类方法时,尽量选择扩展重写,防止改变了功能。


接口隔离(功能拆分) Interface Segregation Principle


尽量定义小而精的接口interface,少定义大而全的接口。本质与单

一职责相同。


小接口之间功能隔离,实现类需要多个功能时可以选择多实现.或

接口之间做继承。



面向接口编程而非面向实现(切换、并行开发)


客户端通过一系列抽象操作实例,而无需关注具体类型。


便于灵活切换一系列功能。


实现软件的并行开发。


迪米特法则(类与类交互的原则)Law of Demeter


类与类交互时,在满足功能要求的基础上,传递的数据量越少越

好。因为这样可能降低耦合度。

原创粉丝点击