Moosphan / Android-Daily-Interview

:pushpin:每工作日更新一道 Android 面试题,小聚成河,大聚成江,共勉之~

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

2019-06-10:说说项目中用到的设计模式和使用场景?

MoJieBlog opened this issue · comments

2019-06-10:说说项目中用到的设计模式和使用场景?

很多时候设计模式为了整体代码更加系统性,有时候我们编码肯能不会特意去思考该用什么设计模式,但有时候又无意间使用了。对于安卓项目多多看看安卓Frameworks源码设计 可以学习很多优秀的设计模式,

一个软件的设计的稳定性取决于 -高内聚,低耦合,实际编码中我们可以在自己重构项目的过程中一步步使用设计模式。

对于项目中的设计模式其实很多 比如对话框设计-buiider模式 ,播放器里面的状态模式控制播放状态;工具类的单例模式;等等

单例模式,也叫单子模式,是一种常用的软件设计模式。 在应用这个场景模式时,单例对象的类必须保证只有一个实例存在。 许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。

单例模式

常见应用场景:网络请求的工具类、sp存储的工具类、弹窗的工具类等

工厂模式

常见应用场景:activity的基类等

责任链模式

常见应用场景:OKhttp的拦截器封装

观察者模式

常见应用场景:Rxjava的运用

代理模式

常见应用场景:AIDL的使用

建造者模式

常见应用场景:Dialog的创建

详细的说不出来,哈哈
感兴趣的可以看我的博客,最近有整理这一块,六大原则、23设计模式
设计模式

单例模式

常见应用场景:网络请求的工具类、sp存储的工具类、弹窗的工具类等

工厂模式

常见应用场景:activity的基类等

责任链模式

常见应用场景:OKhttp的拦截器封装

观察者模式

常见应用场景:Rxjava的运用

代理模式

常见应用场景:AIDL的使用

建造者模式

常见应用场景:Dialog的创建

详细的说不出来,哈哈
感兴趣的可以看我的博客,最近有整理这一块,六大原则、23设计模式
设计模式

activity 基类怎么能是工厂模式呢, base 定义的一些抽象方法,有点模板模式的意思