面向对象设计原则理解+记忆

面向对象设计原则理解

1.0记忆口诀

1.1开口合里最单依

  • 开:开闭原则
  • 口:接口隔离原则
  • 合:合成复用原则
  • 里:里氏替换原则
  • 最:最少知识原则,迪米特法则
  • 单:单一职责
  • 依:依赖倒转原则

2.0开闭原则(Open-Closed Principle OCP)

  1. 面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则
  2. 一个软件的实体应对扩展开放,对修改关闭。设计一个模块的时候,应当使这个模块在不被修改的前提下被扩展,即实现在不修改源代码的情况下改变这个模块的行为。
  3. 抽象化是OCP原则的关键

3.0接口隔离原则(Interface Segregation Principe,ISP)

  • 要求将一些较大的接口进行细化,使得多个专门的接口来替代单一的总接口
  • 客户端不应依赖那些不需要的接口
  • 接口:一种类型所具有的方法特征的集合

4.0合成复用原则(Composite Reuse Principe,CRP)

降低系统间类的耦合度,倡导多用关联,少用继承
尽量使用对象组合,而不是继承来达到目的

4.1复用机制特点:

一个类的对象作为另一个类的对象的一部分,或者说一个对象有另一个对象或几个对象组合而成

5.0里氏替换原则(Liskov Substitution Principe,LSP)

所用引用父类对象的地方都可以透明的引用子类对象

5.1注意的问题

  • 子类的所有方法必须在父类声明,或子类必须实现父类的所有方法
  • 尽量将父类设计成抽象或接口

6.0迪米特法则

一个软件实体尽可能少的与其他软件实体发生相互作用

6.1在迪米特法则中对于一个对象其朋友包括以下几类:

  1. 当前对象本身
  2. 以参数方式传入到当前对象方法中的对象
  3. 当前对象的成员对象
  4. 若当前对象的成员对象是一个集合,那么集合的元素也是朋友
  5. 当前对象所创建的对象

7.0单一职责

一个对象应该只包含单一的职责,并且该职责被完整的封装在一个类中
就一个类而言就只有一个能引起它变化的原因

8.0依赖倒转原则

高层模块不应该依赖底层模块,它们都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象

要针对接口编程,不要针对实现编程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值