抽象产品:接口库,抽象工厂:对象选择
抽象工厂与简单工厂的异同:
相同点

  • 两者都是解决对象类型选择和对象动态创建的问题,保证系统可拓展性、可维护性。

不同点:

  • 简单工厂只能选择一个对象,而抽象工厂是一组对象

抽象工厂的应用范围

  • 在开发中抽象工厂不仅能解决DAL的不同需求问题
  • 也可以根据需要设计BLL的抽象工厂模式,比如有些财务软件,不同国家的财务算法有区别,这时候可以更具客户具体要求设计不同业务逻辑,而DAL都使用相同的。

抽象工厂的不足
设计模式在带来方便的同时,也会带来一些不足,典型的问题是因为使用了反射技术造成系统性能一定程度的降低,但现在的硬件性能非常高,影响在某种程度上降低许多。

除非必要,不要随便使用设计模式。