![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
Aloysjun
过平凡的生活,做不平凡的事
展开
-
单例设计模式
单例设计模式简述 懒汉式 /** * 单例设计模式 * 懒汉模式(存在线程安全问题) * @author XXJ * * 2019年3月1日 下午1:18:26 */ public class SingletonDemo { private static SingletonDemo singletonDemo; private SingletonDemo(){ } ...原创 2019-03-01 13:50:56 · 177 阅读 · 0 评论 -
模板设计模式
首先创建一个具有相同工序的抽象类 /** * 画画工序抽象类 * @author XXJ * * 2019年3月1日 下午2:33:28 */ public abstract class AbstractDraw { public void prepare(){ System.out.println("准备画布颜料"); } //选择画笔 public abstract ...原创 2019-03-01 15:01:55 · 164 阅读 · 0 评论 -
简单工厂设计模式
简单工厂设计模式就是将生产产品的任务交给工厂去操作。但是局限性较大。 创建一个汽车产品类 public class Car { public Car() { System.out.println("生产一辆汽车"); } } 创建一个食物产品类 public class Food { public Food() { System.out.println("生产食物"); }...原创 2019-03-01 15:45:41 · 100 阅读 · 0 评论 -
代理设计模式
代理种类:静态代理和动态代理 静态代理: 1.定义抽象行为的类或接口 2.定义具体类实现抽象行为 3.定义代理类实现和具体类相同的接口 4.代理类中必须持有实现类对应的引用 缺点: 只能代理一类对象 扩展维护比较难 public interface IFunction { void show(); } public class FunctionImpl implements IFunctio...原创 2019-03-01 17:31:34 · 130 阅读 · 0 评论 -
观察者模式
分为四个角色: 抽象被观察者 注册观察者的方法 取消观察者的方法 通知观察者的方法 抽象观察者 更新状态的方法 具体被观察者角色 发布消息的方法 具体观察者角色 /** * 抽象被观察者主题 * @author XXJ * * 2019年3月2日 下午3:38:48 */ public abstract class AbstractSubject { //定义观察者列表 priv...原创 2019-03-02 16:03:19 · 115 阅读 · 0 评论 -
中介设计模式
优点:简化了对象之间的关系,将规则交给中介类进行处理,将各个对象进行解耦。 /** * 抽象电话类 * @author XXJ * * 2019年3月2日 下午4:45:24 */ public abstract class AbstractTelephone { protected String number; protected boolean flag; public A...原创 2019-03-02 18:03:22 · 145 阅读 · 0 评论 -
装饰设计模式
装饰模式是一种用于代替继承的技术,无须通过继承可以在原有的基础上增加新的功能,降低继承带来的耦合性。 /** * 抽象构建的角色 * @author XXJ * * 2019年3月2日 下午6:30:49 */ public interface Role { void show(); } /** * 具体实现角色类 * @author XXJ * * 2019年3月2日 ...原创 2019-03-02 18:52:48 · 118 阅读 · 0 评论