代码源码:
创建型设计模式:(4种)
1.1简单工厂模式:Factory 根据字符串选择创建不同的形状
shape----CIRCLE <---Factory <---client
----RECTANGLE <---
----SQUARE <---
1.2抽象工程模式:client根据字符串选择Factory,然后Factory根据字符串选择创建不同的对象
shape----CIRCLE <---Factory <---client
----RECTANGLE <---
----SQUARE <---
shape----Paper <---Factory <---client
----Web <---
----Screen <---
2.单例模式:私有的构造方法,调用getInstance()方法获取对象,懒汉式(已创建)和饿汉式(使用时创建)
3.原型模式: 实现Cloneable接口,调用父类的super.clone()方法
4.生成器模式(建造者模式):指挥者包含着构建者的引用,指挥者中完成构建的步骤。
行为型设计模式:(11种)
1.观察者模式:主题中包含所有观察者,当主题改变时,调用观察者的update()
2.策略模式:拥有策略类的引用,调用实现的策略方法(选择排序,冒泡排序)
3.模板模式:父类包含执行步骤的聚合方法,而每个具体步骤的实现可以在子类完成
4.迭代器模式:使用list或者array,使用计数器,实现hasNext(),next()方法
5.命令模式:invoker中含有command的引用,command含有recevier引用,调用invoker
的execute()方法,实际上调用recevier的execute()方法
6.备忘录模式:看管者角色对象用来保存备忘录对象
7.中介者模式:处理不同类之间的所有通信的中介类,调用中介类,由中介类调用方法
8.访问者模式:元素对象接受访问者对象,而访问者对象处理元素对象的操作
从不同的访问者改变元素执行算法
9.状态模式:允许一个对象在其内部的状态改变时改变它的行为
10.责任链模式:每个接受器包含对另一个接收器的引用。如果一个对象不能处理请求,
则它将相同的对象传递给下一个接收者
11.解释器模式:定义出其文法的一种表示,终结者表达式进行递归的调用
结构型模式:(7种)
1.适配器模式:将一个类的接口转换为客户希望的另一个接口
method1:适配器继承被适配的对象,实现目标抽象接口
method2:适配器实现目标结构类,通过构造函数的方式组合被适配的对象
2.桥接模式:抽象部分与实现部分分离,通过组合的方式在将两者关联
3.组合模式:客户端可以像处理简单元素一样处理复杂元素,复杂对象循环遍历执行
4.装饰模式:动态将对象的功能加以扩展,实现被装饰类相同的接口,实现其对应的方法,同时可添加新的功能。
5.门面模式:为子系统中的一组接口提供一个一致的界面,将所有的操作由门面完成
6.享元模式:避免创建大量的对象(享元模式=单例模式+工厂模式)
7.代理模式:含有被代理对象的引用,实际上就是复制并扩展被代理对象的功能。
23种设计模式代码和笔记
猜你喜欢
转载自www.cnblogs.com/glblog/p/12058743.html
今日推荐
周排行