1.简单的链式结构
需要在外部类里新建了静态内部类,静态内部类的属性和外部类的属性是一样的,每个属性都有一个方法,而且返回静态内部类,这样就达到了链式设置属性的目的。还得有一个返回外部类的方法,调用外部类的全部构造参数的构造方法,new 一个外部类返回。
2.builder模式
主人说我要盖的房子,自己盖不了,没技术和能力呗;就请了了工程师,他设计的图纸,盖房子的步骤他了如执掌;工程师最后请来了盖房的工人,工人就按工程师的图纸和步骤开始盖房子了。
房子类,地基,结构,砌枪,门窗,装修
工程师类,告诉工人,按照房子类的属性顺序设计一步一步的盖房子。
工人,可以装修,可以砌墙,可以装门窗,可以盖结构,可以打地基
工人按照工程师的步骤就把房子盖好了。
一个主类
一个指挥类
一个builder类
builder可以抽象或者接口形式,当主类有多个子类的时候
主类有多个属性,属性的不同顺序的设置,其实会对业务产生影响。
所以指挥类就出现了,他来控制属性的顺序。
bulider类的方法设置和主类的属性一一对应
builder类里有一个主类的引用,每次设置一个属性的时候,这个引用就会设置属性,最后有一个方法,返回这个主类的引用。
指挥类的构造函数的参数是builder类,指挥类在根据顺序生成主类。