一. 抽象工厂方法接口
package designpattern.factory.factorymethod;
import designpattern.factory.simplefactory.noodles.INoodles;
/**
* 工厂方法模式
*/
public interface INoodlesFactory {
INoodles createNoodles();
}
二. 接口实现类
LzINoodlesFactory
package designpattern.factory.factorymethod;
import designpattern.factory.simplefactory.noodles.INoodles;
import designpattern.factory.simplefactory.noodles.LzNoodles;
public class LzINoodlesFactory implements INoodlesFactory {
@Override
public INoodles createNoodles() {
return new LzNoodles();
}
}
PaoINoodlesFactory
package designpattern.factory.factorymethod;
import designpattern.factory.simplefactory.noodles.INoodles;
import designpattern.factory.simplefactory.noodles.PaoNoodles;
public class PaoINoodlesFactory implements INoodlesFactory {
@Override
public INoodles createNoodles() {
return new PaoNoodles();
}
}
ReganINoodlesFactory
package designpattern.factory.factorymethod;
import designpattern.factory.simplefactory.noodles.INoodles;
import designpattern.factory.simplefactory.noodles.ReganNoodles;
public class ReganINoodlesFactory implements INoodlesFactory {
@Override
public INoodles createNoodles() {
return new ReganNoodles();
}
}
三. 测试类
package designpattern.factory.factorymethod;
import designpattern.factory.simplefactory.noodles.INoodles;
public class Test {
public static void main(String[] args) {
INoodlesFactory noodlesFactory = new LzINoodlesFactory();
INoodles noodles = noodlesFactory.createNoodles();
noodles.desc();
}
}