博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式的学习
阅读量:6845 次
发布时间:2019-06-26

本文共 1619 字,大约阅读时间需要 5 分钟。

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

一:建造者模式:

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

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

如创建Person人物的例子如图所有示:

(1)

(2)产品创建的例子:

 具体代码如:

1 //product类-产品类 2 class Product{ 3      List
parts = new List
(); 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 }

 

二,代理模式: 参考: 三、模板模式:(参照shiro的afterSet方法)例如://TODO

转载于:https://www.cnblogs.com/pingqlin341/p/7171142.html

你可能感兴趣的文章