![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
woaily1346
这个作者很懒,什么都没留下…
展开
-
[设计模式]大纲
设计模式总共有23种,然后核心思想是6大原则: 1.单一职责原则:一个类只有一个引起变化的原因 2.迪米特法则:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用 3.里氏替换原则:子类必须能够替换掉他们的父类 4.开闭原则:对扩展开放,对修改关闭 5.依赖倒置原则:程序要依赖于接口,不依赖于实现 6.接口隔离原则:客户端不应该依赖它不需要的接口;类间的依赖应该建立...原创 2019-04-09 11:57:03 · 110 阅读 · 0 评论 -
[设计模式]单例模式
单例模式应该是设计模式必然会提到的,面试的时候基本也都会考到,而且不仅要求知道,还要求手写能够写出来。 首先说一下单例模式的意义:确保某一个类只有一个实例,并且提供一个全局访问点。特点:1.一个类只有一个实例。2.必须自行实例化。3.向全局提供实例。优点:节约系统资源、提高系统效率,同时也可以严格控制客户对它的访问。适用场景:1.需要频繁的进行创建和销毁的对象。2...原创 2019-04-09 15:44:23 · 76 阅读 · 0 评论 -
[设计模式]建造者模式
建造者模式用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 它在Android中的应用还是很多的,比如说:AlertDialog.Builder、Notification.Builder、AudioFocusRequest.Builder等,可以比较以下Android新旧的版本,Android SDK18之前...原创 2019-05-26 17:21:32 · 73 阅读 · 0 评论 -
[设计模式]策略模式
策略模式感觉使用中还是很常见的,它属于行为型模式。具体的概念嘛什么的网上很多,而且网上都喜欢拿出行方式做例子,也不知道是不是出自同一篇文章。 个人使用下来感觉策略模式用来处理if、else或者swich、case这样的代码最合适了。拿我在实际中的使用举例子:当前的程序需求是接收到某个地方传过来的HttpRequest,然后需要根据目前设备的状态来选择不同的方式来处理并组成...原创 2019-07-09 10:42:00 · 72 阅读 · 0 评论 -
[设计模式]中介者模式
中介者模式,这个模式用来解耦类与类之间的复杂关系。 我在项目中使用中介者用来处理音乐播放器的多入口控制问题。首先是需求:带屏智能音箱在播放音乐的时候控制的入口有两个,界面和语音,播放器只有一个,为了解耦多个控制者和一个执行者,所以采用了中介者模式。这样控制者与中介者交互、中介者与执行者交互,解决了多个控制者之间的控制冲突。 下面来看看代码的实现: 首先是中介者基类: ...原创 2019-06-28 16:07:34 · 100 阅读 · 0 评论 -
[设计模式]观察者模式
观察者模式在实际中的使用非常广泛,所以这里需要着重介绍一下概念,概念是从网上直接复制过来的,原文地址:https://www.runoob.com/design-pattern/observer-pattern.html 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 主要解决:一个对象状态改变给其他对象通知的问题,而...原创 2019-07-15 16:04:31 · 65 阅读 · 0 评论