没有合适的资源?快使用搜索试试~ 我知道了~
24 中设计模式的 UML ,各个模式的实现及说明,简单明了,清晰易懂
资源推荐
资源详情
资源评论
1. SimpleFactory
【简单工厂模式】
类图
例子
国旗生产中,旗子作为抽象产品,各国的旗子作为产品,生产商作为工厂。
描述
简单工厂模式,仅仅利用面向对象的抽象概念,进行合并同类项。
特点
工厂类必须知道所有的生产产品的细节。功能高度集中。
注意事项
2. Factory
【工厂模式】
类图
例子
1 / 20
兵工厂生产武器(抽象类),飞机兵工厂、坦克兵工厂、舰船兵工厂分别生产飞
机、坦克、舰船。
描述
当具有新产品时,仅需要增加新工厂,新的产品即可。
特点
工厂被抽象出来,每个工厂依然负责其所负责的产品的建立,依然是作为主要类,
在工厂层面上一定程度的解决了简单工厂的工厂类功能过于集中的弊端。
类似于不同工厂生产不同产品。
注意事项
当工厂能够生产出一堆产品,并且能讲产品组装成一个产品时,此时的工厂模式
与建造者模式有什么不同?
3. AbstractFactory
【抽象工厂模式】
类图
例子
兵工厂的工厂模式,扩展一下,兵工厂也负责培训士兵使用武器。那么工厂类除
了兵工厂外,还有一类称其为培训中心。
培训中心又分为坦克驾驶员培训负责生产坦克驾驶员、飞机驾驶员培训负责生产
飞机驾驶员、舰艇驾驶员培训负责生产舰艇驾驶员。
驾驶员时产品类,分为坦克驾驶员、飞机驾驶员、舰艇驾驶员。
培训中心与武器生产工厂有关联的。反映在其子类上就是坦克驾驶员能够驾驶坦
克。
描述
抽象工厂模式实际上是多个工厂模式组合在一起,组合的条件是生产的产品直接
有联系。采用抽象工厂模式,能够对客户将这种联系屏蔽,客户只需要消费产品
2 / 20
就行了,产品之间的联系由抽象工厂和抽象产品决定,具体如何联系由实际的工
厂和实际的产品实现。
客户只需调用相应的工厂和产品就行。
此种处理模式类似于产业化,工厂、产品之间相互配套。
特点
保证客户只能消费一套产品族,客户不能将不同族的产品一同消费。隔绝不同产
品族。例如:部分苹果和部分微软的代码,组不成一个完整的系统。
由于其已经定义了不同的产品族,所以当有心产品发生时,难以进行扩展。要支
持新种类通常意味着重新设计接口。而这涉及所有产品的调整、检验。
注意事项
通常系统有多个关联对象组成。
着多个对象要一起使用。
使用者不用关心多个对象之间时如何作用的。
4. Builder
【建造者模式】
类图
例子
麦当劳点餐,Direct=柜台服务员,Builder=后厨工作人员,Product=各种食品
柜台服务员接收客户点的套餐后,后厨工作人员,拿不同的食品组成套餐。
描述
如果我们将 Product 作为抽象类食品,汉堡、薯条、可乐作为不同的食品,会发
现除掉 Director,就是一个工厂模式。
可以理解为:为了提高工厂的适应能力,将工厂模式中的工厂,分离出销售和生
产两个部分。Builder 更关注与销售与生产直接时如何结合的。
并不关注生产车间内部如何生产,如何生产可以采用工厂模式。
特点
将复杂对象的构建与它的表示分离,时同样的构建方式可以创建不同的表示
3 / 20
剩余19页未读,继续阅读
资源评论
alexgyp
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功