面向对象设计的指导方针,【设计模式】第一章 面向对象六大原则

 2023-09-25 阅读 16 评论 0

摘要:第一章 面向对象六大原则 文章目录第一章 面向对象六大原则一、指导思想二、面向对象六大原则1.单一职责原则2.开闭原则3.里氏替换原则4.依赖倒置原则5.接口隔离原则6.迪米特法则 一、指导思想 可维护性 Maintainability 修改功能时,需要改动的地方越少,可维护性

第一章 面向对象六大原则

文章目录

  • 第一章 面向对象六大原则
  • 一、指导思想
  • 二、面向对象六大原则
    • 1.单一职责原则
    • 2.开闭原则
    • 3.里氏替换原则
    • 4.依赖倒置原则
    • 5.接口隔离原则
    • 6.迪米特法则

一、指导思想

  • 可维护性 Maintainability
    修改功能时,需要改动的地方越少,可维护性就越好
  • 可复用性 Reusability
    代码可以被以后重复使用
  • 可扩展性 Extensibility / Scalability
    添加功能无需修改原来的代码,或者修改少量代码
  • 灵活性 Flexibility / Mobility / Adaptability
    代码接口可以灵活调用

二、面向对象六大原则

1.单一职责原则

Single Responsibility Principle

一个类不要太大,别负责太多功能,负责单一职责

2.开闭原则

面向对象设计的指导方针,Open-Closed Principle

对扩展开放,对修改关闭,尽量不修改源代码的情况下进行拓展

抽象化、多态是开闭原则的关键

3.里氏替换原则

Liscov Substitution Principle

所有使用父类的地方,必须能够透明地使用子类对象

面向对象设计的基本原则、子类继承父类的时候,除了添加新的方法完成新增功能外,尽量不要重写父类的方法,也尽量不要重载父类的方法

例如,企鹅、鸵鸟和几维鸟从生物学的角度来划分,它们属于鸟类。但是从类的继承关系来看,由于它们不能继承鸟类会飞的功能,所以它们不能被定义成鸟类的子类。如果要强行定义为鸟类的子类,则有一些行为是需要重写鸟类的行为的,这样就违背了里氏替换原则

正确的做法应该是取消几维鸟原来的继承关系,定义鸟类和几位鸟类的更一般的父类

4.依赖倒置原则

Dependency Inversion Principle

依赖抽象,而不是依赖具体,面向抽象编程

面向对象的设计原则?面向过程的开发,上层调用下层,上层依赖于下层,当下层剧烈变化时,上层也要跟着变化,这就会导致模块的复用性降低而且大大提高了开发的成本

面向对象的开发很好的解决了这个问题,一般的情况下抽象的变化概率很小,让用户程序依赖于抽象,实现的细节也依赖于抽象。即使实现细节不断变化,只要抽象不变,客户程序就不需要变化。这大大降低了客户程序域实现细节的耦合度

5.接口隔离原则

Interface Segregation Principle

每一个接口应该承担独立的角色,不添加多余的功能

避免子类实现不需要实现的方法,避免暴露不需要的功能

6.迪米特法则

面向对象程序设计原则,Law of Denmeter

类与类关系越密切,耦合度越大

一个对象应该对其他对象保持最少的了解,外除了提供的 public 方法,不泄露任何信息

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/95662.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息