抽象工厂模式 shiyanlou
2024-08-26 19:59:40
二、什么是 抽象工厂模式
抽象工厂模式(Abstract Factory Pattern)是一种软件开发设计模式。抽象工厂模式提供了一种方式,可以将一组具有同一主题的单独的工厂封装起来。如果比较抽象工厂模式和工厂模式,我们不难发现前者只是在工厂模式之上增加了一层抽象的概念。抽象工厂是一个父类工厂,可以创建其它工厂类。所以我们也叫它 “工厂的工厂”。(想想上节课的 “女娲娘娘”,这简直就是 “女娲娘娘的亲娘” 啊...)
三、 抽象工厂模式类图
四、 抽象工厂模式示例代码
Talk is cheap, show me the code.
五、抽象工厂模式应用
抽象工厂模式特别适合于这样的一种产品结构:产品分为几个系列,在每个系列中,产品的布局都是类似的,在一个系列中某个位置的产品,在另一个系列中一定有一个对应的产品。这样的产品结构是存在的,这几个系列中同一位置的产品可能是互斥的,它们是针对不同客户的解决方案,每个客户都只选择其一。
六、工厂方法模式、抽象工厂模式区别
工厂方法模式、抽象工厂模式,傻傻分不清楚...
为了解释得更清楚,先介绍两个概念:
产品等级结构:比如一个抽象类是食物,其子类有苹果、牛奶等等,则抽象食物与具体食物名称之间构成了一个产品等级结构。食物是抽象的父类,而具体的食物名称是其子类。
产品族:在抽象工厂模式中,产品族是指由同一个工厂生产的,位于不同产品等级结构中的一组产品。如 AKitchen 生产的苹果、刀子,苹果属于食物产品等级结构中,而刀子则属于餐具产品等级结构中。
因此工厂方法模式、抽象工厂模式最大的区别在于:
工厂方法模式:针对的是 一个产品等级结构。
抽象工厂模式:针对 多个产品等级结构。
最新文章
- Entity Framework之IQueryable和list本地集合
- 用SQL语句获得一个存储过程返回的表
- shell脚本二
- hrb 2134 素数
- c# 使用正则表达式 提取章节小说正文全本篇
- Delphi 记录类型- 结构指针
- AngularJS_对象数组-filter-orderBy
- EF5&;MVC4 学习1、创建新的Contoso University Application,并创建Model Class 生成对应的database
- Java根据html模板创建 html文件
- bzoj3293 [Cqoi2011]分金币&;&;bzoj1045 [HAOI2008]糖果传递
- SQL中采用Newtonsoft.Json处理json字符串
- U3D简单得换装技术
- 【vuejs深入三】vue源码解析之二 htmlParse解析器的实现
- ubuntu中安装samba
- Springboot集成Quartz
- springboot入门使用
- Javascript - ExtJs - Window组件
- Confluence 6 修改日志文件的大小数量和级别
- jquery attr方法和prop方法获取input的checked属性问题
- 〖Android〗Android App项目资源字符串检查(检查是否缺少对应的翻译,导致系统切换语言后崩溃)