博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式
阅读量:3932 次
发布时间:2019-05-23

本文共 664 字,大约阅读时间需要 2 分钟。

这里写目录标题

1. 工厂模式

有一家工厂,现在仅此一家,且只卖华为手机。

有计划以后也卖其他品牌手机,比如小米、OPPO、vivo等等;
有计划以后也卖各品牌电脑、各品牌iPad等等;
有计划以后进行规模扩张,多建几家分厂;

请设计一套程序,易拓展、易维护。

1.1 简单工厂模式

场景:

  • 用户:我要买一部华为手机。
  • 手机旗舰店:好的顾客,我们有一家工厂,将尽快为您发货。
  • 工厂:我们这家工厂目前仅此一家,承接各种品牌的手机订单。

工厂总裁接到华为手机订单,告诉厂长要生产一部华为手机,厂长就开始分配小弟赶工了。

特点:一家工厂负责所有产品。

1.2 工厂方法模式

根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。

1.2.1 工厂方法模式

工厂订单日益增多,总裁决定开设几家分厂,每个工厂都只做一个手机品牌。

场景:

  • 用户:我要买一部华为手机。
  • 手机旗舰店:好的顾客,我们有一家工厂,将尽快为您发货。
  • 工厂:我们这家工厂现在已经有很多分厂,承接各种品牌的手机订单。

职责划分:

各分厂:负责一个手机产品。
总厂:管理各分厂。

工厂总裁接到华为手机订单,告诉总厂长要生产一部华为手机,总厂长就分配给了华为工厂,华为工厂厂长就开始分配小弟赶工了。

特点:一家工厂负责一个产品。

与简单工厂模式对比,工厂方法模式将生成具体产品的任务分发给具体的产品工厂。

1.2.2 抽象工厂模式

工厂日益壮大,为了包揽更多市场,决定不仅仅买手机,也开始卖电脑了。

职责划分:

各分厂:负责一个手机产品,负责一个电脑产品。
总厂:管理各分厂。

转载地址:http://lwqgn.baihongyu.com/

你可能感兴趣的文章
rake应用
查看>>
opera插件开发
查看>>
2012工作日志
查看>>
MongoDB基本介绍及一些用法
查看>>
hash对象
查看>>
基本数据类型和对象
查看>>
mongoDB应用
查看>>
MongoDB 和 MongoMapper的示例用法简介
查看>>
欢迎使用CSDN-markdown编辑器
查看>>
Hadoop和大数据开源工具推荐
查看>>
聚类算法
查看>>
大数据的六大规则
查看>>
rails加载方式
查看>>
Hadoop Storm Spark比较
查看>>
职业测试~~
查看>>
Ruby on Rails调试经验分享
查看>>
ruby中保留2位小数
查看>>
ruby 字符串处理
查看>>
rails console环境下显示AR sql
查看>>
rails console production
查看>>