Android几种重要的设计模式,你知道的有哪些(详细介绍)

设计模式有哪些?(一张图就可以了)
在这里插入图片描述

.

项目中常用的设计模式

(1)、模板方法模式

定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,如jdbcTemplate

(2)、代理模式

spring的Proxy模式在AOP中有体现

(3)、观察者模式

定义对象的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新

(4)、适配器模式

MethodBeforeAdviceAdapter类。

(5)、策略模式

使用了java的继承和多态

(6)、单例模式

解决了一个全局使用的类频繁的创建与销毁。

(7)、工厂模式

分为三种:简单工厂,工厂方法,抽象工厂。

手写生产者/消费者模式

生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生产数据,而消费者取走数据。

实现生产者消费者模式有三点:

(1)、一般使用队列作为缓冲区,给生产者和消费者解耦,平衡了生产者和消费者的处理能力。

(2)、构建生产者,队列满使得生产者线程阻塞。

(3)、构建消费者,队列空使得消费者线程阻塞。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
BlockingQueue是一个阻塞队列,它的存取可以保证只有一个线程在进行,所以根据逻辑,生产者在内存满的时候进行等待,并唤醒消费者队列,反过来消费者在饥饿状态下,等待并唤醒生产者生产。

写出观察者模式的代码

为了帮助开发者了解,这里的观察者代码用了中文“新闻接受者”,被观察者用了“新闻发布者”,实际上在项目中是不能使用中文定义类名的。
在这里插入图片描述
在这里插入图片描述
从上边的例子可以看出,定义了四个订阅者,一个发布者,当发布者更新一个消息时,四个订阅者都收到消息,根据发布者更新的信息执行对应的更新操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章