读书笔记——Android源码设计模式解析与实战(一)

本文探讨了面向对象的六大原则在Android开发中的应用,如单一职责原则、开闭原则、里氏替换原则等,并通过MVP和MVVM模式举例说明。此外,还分析了单例模式的实现方式及其潜在问题,提出了解决这些问题的策略。
摘要由CSDN通过智能技术生成

面向对象的六大原则

一、单一职责原则

就一个类而言,应该只有一个引起它变化的原因。Android开发中常见的MVP模式、MVVM模式就很好地遵循了单一职责原则。以MVP模式为例,当UI样式发生改变时,往往只需要修改View(也就是Activity、Fragment),而不需要修改Model和Presenter。

二、开闭原则

软件中的对象(类、函数等)对于扩展应该是开放的,对于修改是封闭的。在开发过程中,在已通过测试的代码上进行修改可能引入新的bug,而且代码可读性、可维护性都会一定程度降低。扩展有两种方式:继承已有实现类、实现已有接口。实现已有接口显然是最佳选择,如果没有现成的接口,那么就需要继承已有的实现类(可能需要修改属性、方法的可见性),或者进行重构,抽象出相应的接口。

三、里氏替换原则

所有基类出现的地方都能用子类替换。OOP天然支持

四、依赖倒置原则

应该依赖于抽象(接口、抽象类),不应该依赖于细节(实现类)。如果一个类直接依赖于实现的细节,那么以后每次修改实现的细节,这个类都需要修改。

public class ImageLoader {

    private var memoryCache: MemoryCache? = null
    
    public fun setMemoryCache(memoryCache: MemoryCache) {
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值