首先,我很抱歉,因为我问这个问题时可能听起来很愚蠢。
我想了解抽象设计模式的实际用法。所有的API都实现了这个模式,所有的用例都在什么情况下实现。
最让我印象深刻的用例之一是需要使用运行时信息创建的对象的依赖注入。
我知道这个模式是用来创建不同产品系列的对象的。但对于每个新的产品系列,我们都必须改变现有的工厂。此外,如果有任何产品系列的附加实现,我们必须为这个新实现提供一个新工厂。
例如
我有两种类型的操作系统(视窗和MAC)的产品框架和TextBox。现在,我们将有两个工厂,分别用于Windows和MAC,以便WindowFactory为Windows返回textbox和frame,而MacFactory为Mac返回相同的对象。现在,假设我想添加另一个OS,比如solar,那么在本例中,我需要编写一个新的工厂,该工厂返回对应的Solar对象。
API如何在现实世界中使用这些模式?
发布于 2015-07-25 10:55:38
如果你使用的是Java,你可以查看EntityManagerFactory,它有一个创建EntityManager的方法,这个实体管理器可以根据实体管理器的类型(hibernate,OpenJpa等)有不同的配置,这些实体管理器也有一个使用工厂模式创建的数据源(db2数据源,mysql,oracle等)。
https://stackoverflow.com/questions/31569817
复制相似问题