几大原则

单一职责原则

单一职责原则就是一个类应该仅有一个引起它变化的原因

开放-封闭原则

开发-封闭原则,是说软件实体(类、模块、函数等)应该可以扩展,但是不可被需改。

对于扩展是开放的,对于修改是封闭的。

无论模块 多么的封闭,都会存在一些无法对之封闭的变化。既然不可能完全封闭,设计人员必须对于他设计的模块应该对那种变化封闭做出选择,他必须先拆测最有可能的变化种类,然后构造抽象来隔离哪些变化。

面对需求,对程序的改动是通过增加代码来进行的,而不是通过更改现有代码来完成。

开放-关闭原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护性、可扩展性、可复用性、灵活性。开发人员应该进队程序中呈现出频繁变化的那些部分作出抽象,然而,对于应用 程序中的每一个部分都刻意地进行抽象通用不是一个好主意。拒绝不成熟的抽象和抽象一样重要。

依赖倒转原则

抽象不应该依赖细节,细节应该依赖抽象。 说白了就是针对接口编程,不要对实现编程。

A. 高层模块不应该依赖底层模块。两个都应该依赖抽象

B. 抽象不应该依赖细节,细节应该依赖抽象。

image

依赖倒转其实可以说是面向对象设计的标志,用那种语言来编写程序不重要,如果编写时考虑都是都是如何针对抽象编程,而不是针对细节编程,即程序中所有的依赖关系都是终止于抽象类或者接口,那就是面向对象的设计反正就是过程化的设计

里氏代换原则

白话翻译是:一个软件实体如果使用的是一个父类,那么一定适用于其子类,而且觉察不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成他的子类,程序的行为不会发生变化。

里氏代换原则:子类必须能够替换掉他们的父类

只有当子类可以替换掉父类,软件蛋类的功能能不受到影响时,父类才能真正的被复用,而子类也能够在父类的基础上增加新的行为。

由于子类型的可替换性才能使得使用父类类型的模块在无需修改的情况下,就可以扩展。

image
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 做后台产品的时候,为了避免设计地凌乱,想了解一些系统设计模式思想,于是找高内聚低耦合相关的文章。这篇文章是摘自网友...
    徐薇薇阅读 2,265评论 0 0
  • 设计模式概述 在学习面向对象七大设计原则时需要注意以下几点:a) 高内聚、低耦合和单一职能的“冲突”实际上,这两者...
    彦帧阅读 3,864评论 0 14
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,892评论 18 399
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,545评论 1 32
  • 热一点再热一点阅读 198评论 0 1

友情链接更多精彩内容