观察者模式,单例模式和工厂模式

谁都会走 提交于 2019-11-27 07:56:09

持续更新中...

观察者模式:

https://blog.csdn.net/colinandroid/article/details/81113013

观察者模式:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖它的对象都会得到通知并自动更新。

Subject:就是“被观察”的角色,它将所有观察者对象的引用保存在一个集合中。

(1)保存注册的观察者对象

(2)注册观察者对象

(3)注销观察者对象

(4)通知所有注册的观察者对象

Observer:是抽象的“观察”角色,它定义了一个更新接口,使得在被观察者状态发生改变时通知自己。

ConcreteObserver:具体的观察者。

 

单例模式:

https://blog.csdn.net/q_all_is_well/article/details/82377917

实现特点:

(1)私有化该类的构造函数

(2)通过new在本类中创建一个本类对象

(3)定义一个公有的方法,将在该类中所创建的对象返回

实现方法:

(1)单例模式的饿汉式

(2)单例模式懒汉式双重校验锁

(3)内部类

 

工厂模式:

https://blog.csdn.net/u012156116/article/details/80857255

工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类

(1)简单工厂模式:一个工厂+一个运算基类+n个具体的运算类

(2)工厂模式:简单工厂+n个具体的工厂(解决简单工厂的高耦合,缺点是每增加一个产品类,就需要增加一个对应的工厂类,增加了额外的开发量)

(3)抽象工厂模式:(解耦,例业务逻辑与数据访问的解耦)(https://cloud.tencent.com/developer/article/1394271

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!