一 .工厂模式的总结。 为创建一组相关或互相依赖的对象体统一个接口,无需指定具体类。
二. 快速的例子。
interface factoryInterface {
produceA(): AInterface;
produceB(): BInterface;
}
interface AInterface {
dodo(): void;
}
interface BInterface {
dodo(): void;
}
class a1 implements AInterface {
public constructor() {
YBLog.log("Factory", " A1 构造函数 ");
}
public dodo(): void {
YBLog.log("Factory", " A1 dodo ");
}
}
class a2 implements AInterface {
public constructor() {
YBLog.log("Factory", " A2 构造函数 ");
}
public dodo(): void {
YBLog.log("Factory", " A2 dodo ");
}
}
class b1 implements BInterface {
public constructor() {
YBLog.log("Factory", " B1 构造函数 ");
}
public dodo(): void {
YBLog.log("Factory", " B1 dodo ");
}
}
class b2 implements BInterface {
public constructor() {
YBLog.log("Factory", " B2 构造函数 ");
}
public dodo(): void {
YBLog.log("Factory", " B2 dodo ");
}
}
//
class cretorA implements factoryInterface {
public constructor() { };
public produceA(): AInterface {
return new a1();
}
public produceB(): BInterface {
return new a2();
}
}
class cretorB implements factoryInterface {
public constructor() { };
public produceA(): AInterface {
return new b1();
}
public produceB(): BInterface {
return new b2();
}
}
let cretora:cretorA = new cretorA();
let cretorb:cretorB = new cretorB();
cretora.produceA().dodo();
cretora.produceB().dodo();
cretorb.produceA().dodo();
cretorb.produceB().dodo();
三.优点:封装性,不必关心如何生产。
四.缺点:需要增加类的时候要增加工厂,修改抽象工厂的时候每个工厂实现类都要改。