工廠方法模式(常用)
阿新 • • 發佈:2018-12-15
2、 工廠方法模式(常用)
弊端:耦合分散到各個工廠中,類的數量過多,程式不易讀
優勢:遵循開閉原則
Automatic:
package com.neuedu.demo3.fac2;
public abstract class Automatic {
public abstract void display();
}
AutomaticFactory:
package com.neuedu.demo3.fac2; public abstract class AutomaticFactory { public abstract Automatic product(); }
Benz:
package com.neuedu.demo3.fac2;
public class Benz extends Automatic {
@Override
public void display() {
System.out.println("賓士");
}
}
BenzFactory :
package com.neuedu.demo3.fac2; public class BenzFactory extends AutomaticFactory{ public Automatic product() { return new Benz(); } }
BMW :
package com.neuedu.demo3.fac2;
public class BMW extends Automatic {
@Override
public void display() {
System.out.println("BWM");
}
}
BMWFactory :
package com.neuedu.demo3.fac2; public class BMWFactory extends AutomaticFactory{ @Override public Automatic product() { // TODO 自動生成的方法存根 return new BMW(); } }
Test :
package com.neuedu.demo3.fac2;
public class Test {
public static void main(String[] args) {
AutomaticFactory f1 = new BenzFactory();
AutomaticFactory f2 = new BMWFactory();
Automatic a = f1.product();
Automatic b = f2.product();
a.display();
b.display();
}
}
如果需要增加新的內容,直接建立新的類與方法類即可,對原有產品線不產生影響