七种面向对象设计原则

单一职责原则

用来控制类粒度的大小
是实现高内聚、低耦合的指导方针

开闭原则:一个软件实体应该对扩展开放,对修改关闭。

为了满足开闭原则,需要对系统进行抽象化设计,抽象化是开闭原则的关键。
在Java等实现中,可以为系统定义一个相对稳定的抽象层,具体实现移交到实现层。
系统的可扩展性和灵活性

里氏代换原则:所有引用基类的地方必须能透明地使用其子类对象。

里氏代换原则是实现开闭的重要方式之一,由于使用基类对象的地方都可以使用子类,所以在程序中尽量使用基类来对对象进行定义,而在运行时再确定其子类类型,用子类对象替换父类对象。

应将父类设计成抽象类或接口,让子类继承或实现父类,运行时子类替换父类,可以很方便地扩展系统,无须修改原来子类代码,只需增加一个子类即可。

依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。

开闭是面向对象设计的主要目标,依赖倒转就是面向对象设计的主要实现机制之一,它是系统抽象化的具体实现。

依赖倒转原则要求在程序代码中传递参数或关联关系中,尽量引用高层次的抽象类型,即使用接口或抽象类进行参数类型声明、变量类型声明、方法返回类型声明以及数据类型的转换,而不是具体类。为了确保该原则,子类只实现抽象类或是接口中声明的方法,否则不能调用子类自己的方法。

在实现依赖倒转原则时,需要针对抽象层编程,而将具体的对象通过依赖注入的方式注入到其他对象中。

在大多数情况下,上述3种原则会同时出现,开闭原则是目标,里氏代换原则是基础,依赖倒转原则是手段

借口隔离原则:使用多个专用的接口,而不使用单一的总接口。

  1. 当把接口理解成一个类型所提供的所有方法特征的集合时,这就是一种逻辑上的概念,接口的划分直接带来类型的划分。可以把接口理解成角色,每个接口代表一个角色,->角色隔离
  2. 把接口理解成狭义的interface,那么ISP表示该interface仅提供客户端所需要的行为。

合成复用原则:尽量使用对象组合,而不是使用继承来达到复用的目的。

迪米特法则(最少知识原则):一个软件实体应当尽可能少与其它实体发生交互作用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值