设计模式(五)创建者模式(Builder)-创建型

来源:互联网 发布:专业书籍阅读软件 编辑:程序博客网 时间:2024/05/17 23:03

创建者模式Builder

创建者模式就是将一个复杂对象的构建和它的表示分离,使的同样的构建过程可以创建不同的表示,而在客户端不用知道对象的构建细节。当系统需要创建一组复杂的对象,而且这个复杂的对象组装起来比较麻烦时,就可以使用创建者模式。

将抽象工厂模式中的功能类全部抽取出来放到一个类中

 

工厂类就是只负责对象的创建,不负责对象的组装,通过Director类来进行组装,

抽象工厂模式和创建者模式很类似,只是创建者模式更进一步的实现了类的单一职责

创建者模式


创建者模式的实现原理

创建者模式实际上就是抽象工厂模式进化版

抽象工厂模式

public abstract class FactoryMethod(){protected abstract Translate factoryMethodTranslate();protected abstract Interpret factoryMethodInterpret();protected abstract Speech factorMethodSpeech();public String sayText(String text) {Translate translate = factoryMethodTranslate();Interpret interpret = factoryMethodInterpret();Speech speech = factorYMethodSpeech();return translate.sayText()+" --" + interpret.sayText()+ "---"+speech.sayText();}}

创建者模式

public abstract class FactoryMethod(){protected abstract Translate factoryMethodTranslate();protected abstract Interpret factoryMethodInterpret();protected abstract Speech factorMethodSpeech();}
public class Director(){private FactoryMethod factoryMethod;public FactoryMethod getFactoryMethod() {return factory;}public void setFactoryMethod(FactoryMethod factoryMethod) {this.factoryMethod = factoryMethod;}public String sayText(String text) {Translate translate = factoryMethodTranslate();Interpret interpret = factoryMethodInterpret();Speech speech = factorYMethodSpeech();return translate.sayText()+" ----" + interpret.sayText()+ "---" +speech.sayText();}}


1 0
原创粉丝点击