zoukankan      html  css  js  c++  java
  • 设计模式的学习

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

    一:建造者模式:

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

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

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


  • 相关阅读:
    api接口统一管理
    axios封装
    事件监听和事件模型
    W3C标准
    Redis安装(PHPredis服务+windows的redis环境)
    Redis介绍
    jQuery ajax方法小结
    博客园鼠标特效
    PHP---截取七牛地址中的文件名
    jQuery---显示和隐藏
  • 原文地址:https://www.cnblogs.com/panql341/p/7171142.html
Copyright © 2011-2022 走看看