建造者模式使用

建造者模式的定义:将一个复杂对象的构造与它的表示分离,使得同样的构造过程可以创建不同的表示。

作用:将复杂的,易出错的创建对象过程进行封装。使用的时候,只需要设置参数,最后再build就可以轻松创建对象。

复杂过程举例:汽车包括方向盘,轮子,发动机等各种部件。构建一辆汽车对象就是一个复制的过程。

易出错举例:一些需要按照一定顺序去构建一个对象。例如一个汉堡,它是有顺序的,最底下放面包,然后放鸡腿,放生菜,再放面包。假如顺序反了,先放生菜,放鸡腿,再放面包,再放面包。这就不是汉堡了。创建的结果就不一样。

下面是需要顺序来创建对象的例子,怎么用使用建造者模式,保证按顺序创建MyData的

《建造者模式使用》

以上这个问题要保证设置name时,保证先设置id。我们来实现一下:

public classTest {

public static voidmain(String[] args){

Test test =newTest();

test.testBuild();

}

private  voidtestBuild() {

MyData myData =newMyBuilder().setId(“2”).setName(“ssz”).build();

System.out.print(“id的值:”+myData.getId()+”   “+“name的值:”+myData.getName());

}

classMyBuilder {

Stringid;

Stringname;

publicMyData build(){

MyData myData =newMyData();

myData.setId(id);

myData.setName(name);

returnmyData;

}

publicMyBuilder setId(String id){

this.id=id;

return this;

}

publicMyBuilder setName(String name){

this.name=name;

return this;

}

}

classMyData {

privateStringid;

privateStringname;

publicString getId() {

returnid;

}

public voidsetId(String id) {

this.id= id;

}

publicString getName() {

returnname;

}

public voidsetName(String name) {

this.name= name+id;//设置name,需要先设置id为前提。}

}

}

《建造者模式使用》

总之,建造者模式,就是把复杂,易出错的进行封装。便于创建对象。

我的博客:http://blog.csdn.NET/shenshizhong

我的简书:http://www.jianshu.com/users/345daf0211ad/latest_articles

    原文作者:shenshizhong
    原文地址: https://www.jianshu.com/p/6ff6cc879510
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞