今天介绍的是建造者模式,一起跟我看代码,然后练习,然后感悟,就会学会这个模式。
IComputerBuilder接口:
package com.liuqiang.model.builder;
public interface IComputerBuilder {
void buildDisplayer();
void buildHost();
void buildKeyBoard();
void buildMouse();
Computer buildComputer();
}
NoteBookBuilder类:
package com.liuqiang.model.builder;
public class NoteBookBuilder implements IComputerBuilder {
Computer computer;
public NoteBookBuilder(){
computer = new NoteBook();
}
@Override
public void buildDisplayer() {
System.out.println("先来安装显示器");
}
@Override
public void buildHost() {
System.out.println("再来安装主机");
}
@Override
public void buildKeyBoard() {
System.out.println("然后搭配上键盘也不错");
}
@Override
public void buildMouse() {
System.out.println("最后加上鼠标就NICE了");
}
@Override
public Computer buildComputer() {
return computer;
}
}
ComputerDirector类:
package com.liuqiang.model.builder;
public class ComputerDirector {
public Computer constructComputer(NoteBookBuilder builder){
builder.buildDisplayer();
builder.buildHost();
builder.buildKeyBoard();
builder.buildMouse();
return builder.buildComputer();
}
}
Computer类:
package com.liuqiang.model.builder;
public class Computer {
private String displayer;
private String host;
private String keyboard;
private String mouse;
public String getDisplayer() {
return displayer;
}
public void setDisplayer(String displayer) {
this.displayer = displayer;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getKeyboard() {
return keyboard;
}
public void setKeyboard(String keyboard) {
this.keyboard = keyboard;
}
public String getMouse() {
return mouse;
}
public void setMouse(String mouse) {
this.mouse = mouse;
}
}
NoteBook类:
package com.liuqiang.model.builder;
public class NoteBook extends Computer {
}
最后的测试类,Test类:
package com.liuqiang.model.builder;
public class Test {
public static void main(String[] args) {
ComputerDirector cd = new ComputerDirector();
Computer computer = cd.constructComputer(new NoteBookBuilder());
computer.getDisplayer();
computer.getHost();
computer.getKeyboard();
computer.getMouse();
}
}
测试结果如下:
先来安装显示器
再来安装主机
然后搭配上键盘也不错
最后加上鼠标就NICE了
欢迎大家一起和我进行交流,学习,欢迎大家指出不足之处,请联系QQ:497820217 备注:优快云。
本文为原创,如需要转载,请注明出处。