为什么我们需要抽象工厂设计模式?
大部分定义说:
抽象工厂提供了一个界面,用于创建相关对象的族,而无需指定具体的类
抽象工厂模式的用途是什么,因为我们可以通过创建具体类本身的对象来实现任务。 为什么我们有一个创建Concrete类的对象的工厂方法?
请给我提供一些我必须实现abstractFactory模式的真实例子吗?
抽象工厂是依赖注入 (DI)的一个非常中心的设计模式。 下面是Stack Overflow问题列表,其中Abstract Factory的应用已被接受为解决方案。
据我所知,这些问题代表了人们真正关心的问题或问题,因此应该让您开始使用一些真实的例子:
使用抽象工厂模式的一个实际例子是提供对两个不同数据源(例如SQL数据库和XML文件)的数据访问。 您有两个不同的数据访问类(数据存储的网关)。 两者都从定义要实现的常用方法的基类(例如,加载,保存,删除)继承。
应使用哪个数据源不应改变客户端代码检索其数据访问类的方式。 您的抽象工厂知道应使用哪个数据源,并根据请求返回适当的实例。 工厂将此实例作为基类类型返回。
如果我理解你是对的 - 问题是,为什么我们同时拥有Factory方法和抽象工厂模式。 当不同的多态类具有不同的实例化过程时,您需要抽象工厂。 并且您希望某个模块创建实例并使用它们,而无需了解对象初始化的任何细节。 例如 - 你想创建Java对象做一些计算。 但是其中一些是应用程序的一部分,而其他的字节码应该从数据库中读取。 另一方面 - 为什么我们需要工厂方法? 同意,抽象工厂与它重叠。 但是在某些情况下 - 编写代码要少得多,拥有更少的类和接口会使系统更易于理解。
链接地址: http://www.djcxy.com/p/50119.html