当前位置: 首页 > >

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

发布时间:

设计模式有哪些?(一张图就可以了)


.


项目中常用的设计模式

(1)、模板方法模式


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


(2)、代理模式


spring的Proxy模式在AOP中有体现


(3)、观察者模式


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


(4)、适配器模式


MethodBeforeAdviceAdapter类。


(5)、策略模式


使用了java的继承和多态


(6)、单例模式


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


(7)、工厂模式


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


手写生产者/消费者模式

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


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


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


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


(3)、构建消费者,队列空使得消费者线程阻塞。



BlockingQueue是一个阻塞队列,它的存取可以保证只有一个线程在进行,所以根据逻辑,生产者在内存满的时候进行等待,并唤醒消费者队列,反过来消费者在饥饿状态下,等待并唤醒生产者生产。


写出观察者模式的代码

为了帮助开发者了解,这里的观察者代码用了中文“新闻接受者”,被观察者用了“新闻发布者”,实际上在项目中是不能使用中文定义类名的。


从上边的例子可以看出,定义了四个订阅者,一个发布者,当发布者更新一个消息时,四个订阅者都收到消息,根据发布者更新的信息执行对应的更新操作。



友情链接: