面向对象设计原则和依赖

面向对象设计原则

单一职责原则:每个类都应该只有一个职责(高内聚,低耦合指导思想)
开闭原则:对扩展开放,对修改关闭。(面向接口设计思路,对接口或抽象类进行扩展,不修改以前的代码,降低耦合的方法)
里氏替换原则:任何父类出现的地方都可以用它的子类来替换,且不影响功能(继承的准则)
依赖倒置原则:高层模块不依赖底层模块,全部都依赖其抽象;抽象不应该依赖于具体,具体应该依赖于抽象(面向对象设计思路,开闭原则是目的,依赖倒置是实现开闭原则的手段,通过依赖抽象来实现扩展开放,修改关闭)
接口隔离原则:使用多个专门的接口比使用单一的总接口要好
迪米特原则:一个对象应当对其他对象尽量少的了解(封装的准则)
组合/聚合复用原则:优先使用组合/聚合,其次考虑继承

产生依赖的原因

按依赖程度从高到底排列

  1. 继承:
    派生类继承自基类,获得了基类的全部内容。
  2. 组合(聚合)
    一个类型包含另外一个类型的成员。
  3. 传参
    一个类型作为参数传递给另外一个类型的成员方法。
  4. 临时变量
    一个类型的方法中将另外一个类型用作了临时变量

降低依赖的方法

通过依赖倒置原则,将通用的功能设计成抽象,理论上让任何一个类型都包含抽象类型成员,任何一个方法都只包含抽象类型的参数,通过抽象类型来降低依赖程度

注:抽象类型中,抽象类是从子类中发现了公共的东西,泛化出父类,然后子类继承父类;
接口是根本不知子类的存在,方法如何实现还不确认,预先定义。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值