摘要工厂方法在API

时间:2015-07-22 17:15:23

标签: design-patterns

首先对不起,因为我在问这个时听起来很愚蠢。

我想了解抽象设计模式的实际用法。所有API都实现了这种模式以及所有用例。

立即打击我的一个用例是需要使用运行时信息创建的对象的DI。

我知道这个模式用于创建各种产品系列的对象。但对于每个新产品系列,我们都必须改变现有的工厂。此外,如果有任何产品系列的额外实施,我们必须为此新实施提供新工厂。

例如

我有两种类型的OS(Windows和MAC)产品Frame和TextBox。现在我们将为每个Window和Mac分别设置两个工厂,以便WindowFactory为Windows返回文本框和框架,MacFactory为MAC返回相同的对象。现在说我想添加另一个操作系统说太阳能然后在这种情况下我需要写一个新的工厂,它返回太阳能的相应对象。

API如何在现实世界中使用这种模式?

1 个答案:

答案 0 :(得分:0)

如果你使用Java你可以检查EntityManagerFactory,它有一个方法来创建一个EntityManager,这个实体管理器可以有不同的配置,取决于entitymanager的类型(hibernate,OpenJpa等),那些实体manger也有一个数据源使用工厂模式(db2 datasource,mysql,oracle等)创建的