面向对象六大原则

面向对象六大原则

优化代码的第一步 单一职责 SRP (Single Responsibility principle)

一个类做的工作要纯粹,具体点就是分类要明确。书中例子就是ImageLoader只做加载的工作,
而缓存的工作应该交给ImageCache来做。职责明确确实是代码优化的第一步。

更稳定、更加灵活 开闭原则 OCP (Open close principle)

可以认为一个类中的需要变化的逻辑,可以通过对变化的逻辑进行抽象,从而能实现提供一个抽象的接口,
而让用户实现其接口或则抽象类来改变逻辑,实现逻辑的改变对外开放,而类中的代码是封闭的,不允许
更改。书中的例子是ImageLoader类中的缓存方案提供给了用户,从而用户可以更加灵活的选择缓存的
策略,甚至可以自己去实现接口。

构建拓展性更佳好的系统 里氏替换原则 LSP (Liskov Substitution principle)

android中View的管理,就是里氏替换原则,每一个View的渲染流程都是measure 后 draw
如果自己想要实现与系统控件不同的功能,就可以继承View,实现流程是一样的,内容却不一样。

让项目拥抱变化 依赖倒置原则 DIP (Dependence Inversion Principle)

依赖抽象而不是具体的实现类,实现类逻辑可以进行变化,实现拥抱变化。

系统有更高的灵活性 接口隔离原则 ISP (Interface Segregation Principle)

代码中体现就是大多数类的都需要做的操作,进行抽象,从而实现多态至上而下的管理,比如Closeable。

更好的可拓展性 迪米特原则 LOD (Law of Demeter)

一个类对别的类依赖应该降到最小,否则当一个类需要变化的时候,会牵扯到更多类的变化。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值