设计模式的学习

本文内容摘自于大话设计模式_程杰版

一:建造者模式:

概念:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示的意图

时,就可以用到建造者模式。使用建造者模式是为了创建一个对象简单,其创建过程规范。

如创建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


posted on 2017-07-14 16:25  剑与心声  阅读(118)  评论(0编辑  收藏  举报