本文由【程序员伟哥】原创,转载请注明出处,不注明请默念三遍【我爱技术】后转载!
更多精彩请关注微信公众号:【IT殿堂】
可以加我微信一起交流技术:【qqqq123456】
工厂方法模式分为三种:
普通工厂方法模式、多个工厂方法模式、静态工厂方法模式
废话不多说,下面直奔主题,实现步骤:
工厂模式
就是建立一个工厂类
对实现了同一接口的一些类进行实例的创建。
实现步骤:
1、要实现的同一接口。
IAnimal
public interface IAnimal {
//发出声音
void makeSound();
}
2、实现了同一接口的一些类。
AnimalDog,AnimalCat
public class AnimalDog implements IAnimal{
@Override
public void makeSound() {
System.out.println("小狗叫,汪汪汪...");
}
}
public class AnimalCat implements IAnimal{
@Override
public void makeSound() {
System.out.println("小猫叫,喵喵喵..");
}
}
3、工厂类,用来在其中创建对象。
普通工厂模式:
NormalAnimalFactory
public class NormalAnimalFactory {
public IAnimal createAniman(String type){
if("dog".equals(type)){
return new AnimalDog();
}else if("cat".equals(type)){
return new AnimalCat();
}else{
System.out.println("你要创造的动物不存在!");
return null;
}
}
}
多个工厂方法模式
MultAnimalFactory
public class MultAnimalFactory {
public IAnimal createDog(){
return new AnimalDog();
}
public IAnimal createCat(){
return new AnimalCat();
}
}
静态工厂方法模式
StaticAnimalFactory
public class StaticAnimalFactory {
public static IAnimal createDog(){
return new AnimalDog();
}
public static IAnimal createCat(){
return new AnimalCat();
}
}
源码地址:https://github.com/tianshanaoxue/design-pattern.git
有兴趣可以关注我的微信公众账号:IT殿堂