package designmode;
/**
* 设计模式之 简单工场模式
*
* @author lin
*
*/
interface Animal {
public abstract void say();
}
class Dog implements Animal {
@Override
public void say() {
System.out.println("Ou···OuOu!!");
}
}
class Cat implements Animal {
@Override
public void say() {
System.out.println("Miao...miaomiao!!");
}
}
// 构造工场类,也就是说以后如果我们再添加其他的实例的话,只需要修改工场类就可以了
// 问题:当我们在添加一个子类的时候,就需要修改工厂类了。如果我们添加太多的子类的时候,改的就会很多。
class Factory {
public static Animal getInstance(String Animal_name) {
Animal o = null;
if ("Dog".equals(Animal_name)) {
o = new Dog();
}
if ("Cat".equals(Animal_name)) {
o = new Cat();
}
return o;
}
}
public class FactoryTest {
public static void main(String[] args) {
Animal animal = Factory.getInstance("Dog");
animal.say();
}
}
设计模式-简单工场模式
最新推荐文章于 2024-07-26 12:28:02 发布