一、生涯场景
基于建造者模式,描写软件开发的流程。
1、代码实现
/**
* 基于建造者模式描写软件开发
*/
public class C01_InScene {
public static void main(String[] args) {
BuilderSoft builderSoft = new SoftImpl () ;
ProjectManager manager = new ProjectManager(builderSoft) ;
manager.createSoft();
}
}
/**
* 手机软件产品开发
*/
class MobileSoft {
// 设计
private String design ;
// 架构
private String frame ;
// 开发
private String develop ;
// 上线
private String online ;
// 省略 GET SET 办法
}
/**
* 手机软件流程抽象类
*/
abstract class BuilderSoft {
// 前期工作
public abstract void earlyWork () ;
// 中期工作
public abstract void midWork () ;
// 后期工作
public abstract void lateWork () ;
// 手机软件完成
public abstract MobileSoft builderSoft () ;
}
/**
* 手机软件具体实现
*/
class SoftImpl extends BuilderSoft {
private MobileSoft mobileSoft = new MobileSoft();
@Override
public void earlyWork() {
System.out.println("软件前期设计...");
}
@Override
public void midWork() {
System.out.println("软件中期架构...");
System.out.println("软件中期开发...");
}
@Override
public void lateWork() {
System.out.println("软件后期上线...");
}
@Override
public MobileSoft builderSoft() {
return mobileSoft ;
}
}
/**
* 项目经理:把控项目进度
*/
class ProjectManager {
private BuilderSoft builderSoft ;
ProjectManager (BuilderSoft builderSoft){
this.builderSoft = builderSoft ;
}
// 兼顾项目周期
public void createSoft (){
builderSoft.earlyWork();
builderSoft.midWork();
builderSoft.lateWork();
// MobileSoft mobileSoft = builderSoft.builderSoft() ;
// return mobileSoft ;
}
}/**
* 基于建造者模式