设计模式之建造模式

建造模式是对象的创建模式,建造模式可以将1个产品的内部表象和产品的生产进程分割开来,从而是1个建造进程生成具有不同的内部表象的产品

对象。

建造模式的结构以下类图所示:

这个系统中,终究产品Product只有两个零件,即part1和part2,相应的建造方法也有两个:buildPart1()和buildPart2(),同时呢本模式触及到4个角色,分别为:

*抽象建造者(Builder)角色:给出1个抽象接口,以规范产品对象的各个组成部份的建造,1般而言,此接口独立于利用程序的商业逻辑。

*具体建造者(Concrete Builder)角色:担负这个角色的是与利用程序紧密相干的1些类,它们在利用程序调用下创建产品的实例。

*导演者(Director)角色:担负这个角色的类调用具体建造者角色以创建产品对象,应当指出的是,导演者角色并没有产品类的具体知识。

真正具有产品类的具体知识是具体建造者角色。

*产品(Product)角色:产品(Product)便是建造中的复杂对象,1般来讲,1个系统中会有多于1个的产品类,而且这些产品类其实不1定有共同

的接口,而完全可以是不相干联的。

以下给出这个系统比较简单的示意性源码:

Director:

package builder;

public class Director {

private Builder builder;

/**
* 产品构造方法,负责调用各个零件建造方法
*/
public void construct(){
builder=new ConcreteBuilder();
builder.buildPart1();
builder.buildPart2();
builder.retrieveResult();
//continue with other code
}
}


Builder:

package builder;

public abstract class Builder {

/**
* 产品的零件建造方法
*/
public abstract void buildPart1();

/**
* 产品零件建造方法
*/
public abstract void buildPart2();

/**
* 产品返还方法
*/
public abstract Product retrieveResult();
}


ConcreteBuilder:

package builder;

public class ConcreteBuilder extends Builder {

private Product product=new Product();

/**
* 产品零件建造方法
*/
public void buildPart1() {
//build the first part of the part
}

/**
* 产品零件建造方法
*/
public void buildPart2() {
//build the second part of the product
}

/**
* 产品返还方法
*/
public Product retrieveResult() {
return product;
}

}


Product:

package builder;

public class Product {

//Anything pertaining to this product

}


这些源码中,有许多的方法并没有实现,和Product类中并没有任何属性或方法,但其实不影响其浏览性,在具体的建造进程中,才会出现对应的产品

和相应的实现进程。

简单的建造模式,就是如此。

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » 设计模式之建造模式

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡