设计模式之抽象工厂模式

设计模式分类:

  • 创建型模式(创建对象的): 单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
  • 行为型模式(对象的功能): 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
  • 结构型模式(对象的组成): 模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。


抽象工厂模式

静态工厂类负责所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同,就需要不断的修改工厂类,不利于后期的维护。同时当业务类别特别多时,如果我们使用工厂模式,那我们就需要记住每个要产生的对象的名字(或指定的字符串),这对于团队来说是很不合理的,A写的代码B需要再去看一遍;但是如果使用抽象工厂就会有代码提示~这个我们肯定有体会。所以就用到简单工厂模式。
示例如下:
1、动物工厂的抽象
public interface AnimalFactory {
public abstract Animal createAnimal() ;
}
2、动物类的抽象
public abstract class Animal {
public abstract void eat() ;
}
3、动物猫的具体类
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("猫吃鱼.......");
}
}
4、动物狗的具体类
public class Dog extends Animal {
@Override
public void eat() {
System.out.println("狗吃肉.....................");
}
}
5、动物猫的实现类
public class CatFactory implements AnimalFactory {
@Override
public Animal createAnimal() {
return new Cat();
}
}
6、动物狗的实现类
public class DogFactory implements AnimalFactory {
@Override
public Animal createAnimal() {
return new Dog();
}
}
7、测试类
public class AnimalFactoryTest {
public static void main(String[] args) {
AnimalFactory af = new DogFactory() ;
Animal animal = af.createAnimal() ;
animal.eat() ;
af = new CatFactory() ;
animal = af.createAnimal() ;
animal.eat() ;
}
}
继承关系如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值