本文内容摘自于大话设计模式_程杰版
一:建造者模式:
概念:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示的意图
时,就可以用到建造者模式。使用建造者模式是为了创建一个对象简单,其创建过程规范。
如创建Person人物的例子如图所有示:
(1)
(2)产品创建的例子:
具体代码如:
1 //product类-产品类 2 class Product{ 3 List<String> parts = new List<String>(); 4 //增加产品 5 public void add(String part){ 6 parts.add(part); 7 } 8 public void show(){ 9 System.out.println(parts); 10 } 11 } 12 //builder类——抽象建造者类 13 abstract class Builder{ 14 public abstract void buildPartA(); 15 public abstract void buildPartA(); 16 public abstract Product getResult(); 17 } 18 //ConcreteBuilder1类——具体建造者类 19 class ConcreteBuilder1 extends Builder{ 20 private Product product = new Product(); 21 public void buildPartA(){ 22 product.add("部件A"); 23 } 24 public void buildPartB(){ 25 product.add("部件B"); 26 } 27 public abstract Product getResult(){ 28 return product; 29 } 30 } 31 //ConcreteBuilder2类——具体建造者类 32 class ConcreteBuilder2 extends Builder{ 33 ........ 34 } 35 36 //Director--指挥者类 37 class Director{ 38 public void construct(Builder builder){ 39 builder.builderPartA(); 40 builder.builderPartB(); 41 } 42 } 43 //客户端代码, 44 Main(String args[]){ 45 Director director = new Director(); 46 Builder b1 = new ConcreteBuilder1(); 47 Builder b2 = new ConcreteBuilder2(); 48 director.construct(b1); 49 director.construct(b2); 50 Product product = b1.getResult(); 51 Product.show(); 52 ....... 53 }
二,代理模式:
参考:http://www.cnblogs.com/chinajava/p/5880870.html
三、模板模式:(参照shiro的afterSet方法)例如://TODO