软件设计模式之路-面向对象的六大原则

记录《Android 源码设计模式 解析与实战》的读后理解

ps:基本直接搬书

  • 单一职责原则
  • 开闭原则
  • 里氏替换原则
  • 依赖倒置原则
  • 接口隔离原则
  • 迪米特原则

单一职责原则

我想大部分从事编码的人至少都听说或者明白这个原则,就是一个类能够让它修改的只有一个原因,就像流水线上的工人最好让一个人负责一件事。如果我们将所有功能都写在一个类中,这样的软件后期基本上是要被咔嚓的。我觉得这也是需要一定量的编程经验才能够真正理解这一原则。

开闭原则

软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是对于修改是封闭的。就是当软件需要修改功能的时候尽量采用扩展的方式进行,而不是修改原来的代码,这样可以避免修改旧代码而引发其他的问题。

里氏替换原则

所有引用类的地方必须能透明的使用其子类的对象。我们知道面向对象语言有三大特点:封装、继承(抽象)、多态,里氏替换原则就是运用了继承和多态,只要是用到父类的地方都能够用子类去替换。
里氏替换的核心原理是抽象,抽象依赖于继承。
继承的优缺点了解一下:
优点:代码重用,减少成本,增加扩展性。
缺点:有侵入性,可能造成代码冗余。

依赖倒置原则

指代了一种特定的解耦形式,使得高层次的模块不依赖于低层次的模块。
通常有几个特点:
1.高层模块不应该依赖底层模块,两者依赖于抽象;
2.抽象不应该依赖于细节;
3.细节应该依赖抽象。
在java语言中,抽象指的是接口或者抽象类,两者都是不能直接被实例化的;细节就是实现类,MVP模式Model,View,Presenter这三个之间都是依赖于对应的抽象。

接口隔离原则

类间的依赖关系应该建立在最小的接口上,应该是用最少的接口去实现,隔离了实现类的细节,也降低了耦合性。

迪米特原则

一个对象应该对其他对象有最少的了解。只需要调用自己需要的方法并不关心其实现,读者可以想想用过的静态方法。

总结:

本文有的描述是按照自己的理解写出来的,能力一般,水平有限,还希望读者理解,待续。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值