
DesignPatterns
OHISAY
java
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Behavior pattern -- Command Pattern
1 命令模式2 执行代码interface Command{ public void execute(); } class Stock{ private String name = "alibaba"; private int amount = 10; public void buy(){ System.out.println("buy"); ...原创 2018-07-01 14:29:46 · 109 阅读 · 0 评论 -
Behavior pattern -- Interpreter Pattern
1 解释器模式2 实现代码interface Expression{ public boolean interpret(String context); } class TerminalExpression implements Expression{ private String data; public TerminalExpression(String data){ ...原创 2018-07-02 06:35:19 · 138 阅读 · 0 评论 -
Structural model -- Filter Pattern
1 过滤器模式2 class Person{ private String gender; private String marital; public Person(String gender, String marital){ this.gender = gender; this.marital = marital; ...原创 2018-06-27 07:03:20 · 134 阅读 · 0 评论 -
Behavior pattern -- Iterator Pattern
1 迭代器模式2 实现代码interface Iterator{ public boolean hasNext(); public Object next(); } interface Container{ public Iterator getIterator(); } class NameContainer implements Container{ priva...原创 2018-07-02 21:11:58 · 140 阅读 · 0 评论 -
Behavior pattern -- Mediator Pattern
1 中介者模式2 实现class Chatroom{ public static void showMessage(String name, String message){ System.out.println(name + ":" + message); } } class User{ private String name; public Us...原创 2018-07-03 06:17:29 · 139 阅读 · 0 评论 -
Behavior pattern -- Memento Pattern
1 备忘录模式 2 实现代码import java.util.ArrayList; import java.util.List; class Memento{ private String state; public Memento(String state) { this.state = state; } public String getStat...原创 2018-07-03 06:50:16 · 164 阅读 · 0 评论 -
Structural model -- composite mode
1 组合模式2 代码实现class Employee{ private String name; private String dept; private List<Employee> employees; public Employee(String name, String dept){ this.name = name; ...原创 2018-06-28 06:16:46 · 197 阅读 · 0 评论 -
Structural model -- Decorator Pattern
1 装饰器模式 2 实现 interface Shape{ public void draw(); } class Rectangle implements Shape{ @Override public void draw() { System.out.println("rectangle"); } } class Circle impleme...原创 2018-06-28 06:40:54 · 130 阅读 · 0 评论 -
Behavior pattern -- Observer Pattern
1 观察者模式2 实现代码class Subject{ private List<Observer> observerList = new ArrayList<>(); private int state; public int getState() { return state; } public void se...原创 2018-07-03 20:34:56 · 125 阅读 · 0 评论 -
Behavior pattern -- State Pattern
1 状态模式2 代码实现 interface State{ public void doAction(Context context); } class Context{ private State state; public Context() { this.state = null; } public State getState()...原创 2018-07-03 20:55:10 · 125 阅读 · 0 评论 -
Behavior pattern -- Null Object Pattern
1 空对象模式2 代码实现。 import javax.sound.midi.Soundbank; abstract class Customer{ protected String name; abstract boolean isNull(); abstract String getName(); } class RealCustomer extends Custo...原创 2018-07-03 21:13:22 · 167 阅读 · 0 评论 -
Behavior pattern -- Strategy Pattern
1 策略模式2 代码实现。 interface Strategy{ public int executeOperation(int x, int y); } class AddOperation implements Strategy{ @Override public int executeOperation(int x, int y) { retur...原创 2018-07-03 21:26:22 · 123 阅读 · 0 评论 -
Behavior pattern -- Template Pattern
1 模板模式2 实现。 abstract class Game{ public abstract void start(); public abstract void end(); public final void play(){ start(); end(); } } class Cricket extends Game{ ...原创 2018-07-04 06:35:21 · 178 阅读 · 0 评论 -
Behavior pattern -- Visitor Pattern
1 访问者模式2 实现。 interface ComputerPart{ public void accept(Visitor visitor); } class Mouse implements ComputerPart{ @Override public void accept(Visitor visitor) { visitor.visitMo...原创 2018-07-04 06:58:15 · 150 阅读 · 0 评论 -
Structural model -- Facade Pattern
1 外观模式2 实现代码 interface Shape{ public void draw(); } class Rectangle implements Shape{ @Override public void draw() { System.out.println("rectangle"); } } class Circle implement...原创 2018-06-29 05:57:05 · 170 阅读 · 0 评论 -
Structural model -- Flyweight Pattern
1 享元模式2 实现代码interface Shape{ public void draw(); } class Circle implements Shape{ private String color; private int radius; public Circle(String color){ this.color = color; ...原创 2018-06-29 06:25:21 · 159 阅读 · 0 评论 -
Structural model -- Structural model
1 适配器模式2 代码interface AdvancePlayer{ public void playMp4(); public void playVlc(); } class VlcPlayer implements AdvancePlayer{ @Override public void playMp4() { } @Override ...原创 2018-06-25 21:52:45 · 957 阅读 · 0 评论 -
Behavior pattern -- Chain of Responsibility Pattern
1 责任链模式2 实现代码 abstract class AbstractLogger{ public static int Info = 1; public static int Error = 3; protected int level; protected AbstractLogger nextLogger; public void s...原创 2018-06-30 07:02:34 · 119 阅读 · 0 评论 -
Create mode -- Factory method
1 工厂方法模式2 interface Shape{ public void draw(); } class Rectangle implements Shape{ @Override public void draw() { System.out.println("Draw rectangle"); ...原创 2018-06-22 16:03:09 · 120 阅读 · 0 评论 -
Create Mode -- Abstract Factory
1 抽象工厂模式2 代码实现interface Shape{ public void draw(); } class Rectangle implements Shape{ @Override public void draw() { System.out.println("draw rectangle"); } } class Square imp...原创 2018-06-22 20:57:07 · 139 阅读 · 0 评论 -
Create Mode -- Singlton
1 单例模式2 代码实现class Singleton{ private static Singleton singleton = new Singleton(); private Singleton(){ } public static Singleton getSingleton(){ System.out.println("this is si...原创 2018-06-22 21:15:02 · 875 阅读 · 0 评论 -
Create Mode -- Prototype Pattern
1 原型模式2 代码abstract class Shape{ protected String type; public String getType() { System.out.println(type); return type; } } class Rectangle extends Shape{ public Rectan...原创 2018-06-24 19:10:12 · 137 阅读 · 0 评论 -
Structural model -- Proxy Pattern
1 代理模式2 实现代码interface Image{ public void draw(); } class RealImage implements Image{ private String name; public RealImage(String name){ this.name = name; } @Override p...原创 2018-06-29 06:46:08 · 131 阅读 · 0 评论