设计模式
随机一个名字
这个作者很懒,什么都没留下…
展开
-
组合模式
抽象构件 /** * 抽象构件 */ public abstract class Component { public void doSomething(){ } } 树枝构件 /** * 树枝构件 */ public class Composite extends Component { private ArrayList<Component>...原创 2020-01-18 23:59:24 · 68 阅读 · 0 评论 -
适配器模式
目标角色 /** * 目标角色 */ public interface Target { public void request(); } 实现类 /** * 实现类 */ public class ConcreteTarget implements Target { @Override public void request() { Sys...原创 2020-01-18 23:21:53 · 74 阅读 · 0 评论 -
策略模式
1.抽象类 public interface Strategy { public void doSomething(); } 2.具体类 public class ConcreteStrategy1 implements Strategy { @Override public void doSomething() { System.out.prin...原创 2020-01-18 16:17:54 · 80 阅读 · 0 评论 -
装饰者模式
1.抽象类 public abstract class Component { public abstract void operate(); } 2.具体类 public class ConcreteComponent extends Component { @Override public void operate() { System.out....原创 2020-01-18 16:11:00 · 78 阅读 · 0 评论 -
责任链模式
1.抽象类 public abstract class Handler { private Handler nextHandler; public final Response handleMessage(Request request ){ Response response = null; if(this.getHandlerLevel(...原创 2020-01-18 15:59:17 · 184 阅读 · 0 评论 -
命令模式
通用receiver类 /** * 通用receiver类 */ public abstract class Receiver { public abstract void doSomething(); } 具体receiver类 /** * 具体receiver类 */ public class ConcreteReciver1 extends Receiver { ...原创 2020-01-18 15:42:07 · 78 阅读 · 0 评论 -
中介者模式
通用抽象中介者 /** * 通用抽象中介者 */ public abstract class Mediator { protected ConcreteColleague1 c1; protected ConcreteColleague2 c2; public ConcreteColleague1 getC1() { return c1; ...原创 2020-01-17 22:36:31 · 70 阅读 · 0 评论 -
原型模式
public class PrototypeClass implements Cloneable { @Override protected PrototypeClass clone() { PrototypeClass prototypeClass = null; try{ prototypeClass = (Proto...原创 2020-01-17 22:21:00 · 57 阅读 · 0 评论 -
模板方法模式
抽象模板类 /** * 抽象模板类 */ public abstract class AbstractClass { protected abstract void doSomething(); protected abstract void doAnything(); public void templateMethod(){ this.doA...原创 2020-01-17 21:18:27 · 58 阅读 · 0 评论 -
工厂方法模式
抽象产品类 /** * 抽象产品类 */ public abstract class Product { public void method1(){ } public abstract void method2(); } 具体产品类 /** * 具体产品类 */ public class ConcreteProduct1 extends Produc...原创 2020-01-17 13:43:01 · 70 阅读 · 0 评论 -
单例模式
public class Singleton { private static final Singleton SINGLETON = new Singleton(); private Singleton(){ } public static Singleton getInstance(){ return SINGLETON; } ...原创 2020-01-17 08:51:39 · 55 阅读 · 0 评论