本项目主要为设计模式的学习资源源码。
git clone [email protected]:lightClouds917/designMode.git 拉取项目到本地,不同的设计模式单独存储在对应的包下,部分设计模式演示或者验证时,是在其同包名下的测试类中进行。
singleton包下,类中有注释,有以下5种:
- 饿汉式
- 懒汉式
- 加锁双重检查
- 内部静态类
- 枚举
proxy包下,类中有注释,有以下3种:
- 静态代理
- jdk动态代理
- cglib动态代理
factory包下
builder包下
observer包下
概述: 在观察者模式中,往往有一个一对多的关系,一个被观察者和多个观察者(这里的多个也可以是1个),观察者依赖被观察者, 当被观察者发生变化时,观察者会收到被观察者发出的通知,然后自身发生变更等操作。
适用场景: 1.一个抽象模型中有2种角色,其中一种依赖另外一种,希望二者低耦合,可复用; 2.一个对象发生变更时,会触发其他一群对象发生会更,这群对象是谁,有多少,不清楚;
角色: 1.抽象观察者; 2.具体观察者; 3.被观察者;
iterator包下
filter包下
strategy包下 一个算法接口,三个实现类,等于是三个策略。
responsibility包下
欢迎一起完善本项目(提issue或者加微信),如果有任何疑问,请通过公众号或者添加作者微信交流。
java4all:
IT云清: