【Design Pattern】Simple Factory
1408 ワード
1.製品インタフェースの書き込み
2.製品実現
3.具体的な工場類
4.demo
package SimpleFactory;
public interface Animal {
public void makeSound();
}
2.製品実現
package SimpleFactory;
public class Dog implements Animal{
@Override
public void makeSound() {
System.out.println("wang");
}
}
package SimpleFactory;
public class Cat implements Animal{
@Override
public void makeSound() {
System.out.println("miao");
}
}
3.具体的な工場類
package SimpleFactory;
public class AnimalFactory {
public static Animal getAnimal(String type){
if(type == null){
return null;
}
if(type.equalsIgnoreCase("Dog")){
return new Dog();
}else if(type.equalsIgnoreCase("Cat")){
return new Cat();
}
return null;
}
}
4.demo
package SimpleFactory;
public class AnimalFactoryDemo {
public static void main(String[] args){
Animal animal1 = AnimalFactory.getAnimal("Dog");
animal1.makeSound();
Animal animal2 = AnimalFactory.getAnimal("Cat");
animal2.makeSound();
}
}