工厂方法与抽象工厂的比较

工厂方法
创建一个产品系列的对象,而这个产品系列中的每个对象的创建都对应着一个工厂,也就是说,产品系列中的各个产品与创建它的工厂是一一对应的关系;
选择了工厂就等于选择了产品;
工厂方法模式提供了两层抽象:对各个产品的公共抽象和对各个工厂的公共抽象;

抽象方法
区别:
最明显的一点是,工厂方法模式中只有一类产品,他们实现了一个统一的接口;而抽象工厂有多个类别的产品,他们分别实现了不同的功能(多个接口)。
其次是工厂本身所拥有的方法数量不同;工厂需要有生产不同类别产品的功能,如果抽象工厂中的产品的功能简化到一个,也便成为了工厂方法。(引出类别的概念,类别是指具有相同功能的一类产品的总称。)

抽象工厂模式具有创建多个系列以及多个系列中不用类别的产品的能力。

同样,抽象工厂也具有两层抽象:各个工厂的抽象和对各个工厂内同类别产品的抽象;

抽象工厂的使用除了对多系列多类别的应用外,还有一点很重要的原则,即它的一系列的产品总是在一起使用的,只有这样才更能体现出抽象工厂的价值。

来源:http://www.cnblogs.com/shenfx318/archive/2007/01/16/621237.html

posted @   skybirdzw  阅读(120)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示