设计模式与泡mm的关系之工厂模式及工厂模式的再思考
来源:互联网 发布:nba2k18麦迪捏脸数据 编辑:程序博客网 时间:2024/04/28 07:48
我跑我跑我跑,J
网上的原文是这样子的:
1、抽象FACTORY,追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说"来四个鸡翅"就行了。麦当劳和肯德基就是生产鸡翅的Factory
抽象工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。
3、FACTORY METHOD—请MM去麦当劳吃汉堡,不同的MM有不同的口味,要每个都记住是一件烦人的事情,我一般采用Factory Method模式,
带着MM到服务员那儿,说"要一个汉堡",具体要什么样的汉堡呢,让MM直接跟服务员说就行了。
工厂方法模式:核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。
点评:
从比较简单的Factory Method开始说。FM的定义是:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。根据定义,在模式中应该有如下几个接口和类:
Interface iCreator:创建对象的接口
Class cCreator: 创建对象的具体类,继承自iCreator
Interface iProduct: 产品接口类
Class cProduct: 具体产品类,具体要被实现的类,继承自iProduct
按照上面的描述:我是client,mm是cCreator,汉堡是iProduct,具体汉堡是cProduct。什么是iCreator呢?我的理解是我带的mm,比如说我可以带mm甲来,我也可以带mm乙来吃汉堡的。不同的mm有不同的口味,那么不同口味的汉堡就是cProduct了。这个理解还是蛮match的,看来pass了,呵呵。
上面的Abstract Factory,AF的定义是:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。根据类的定义,我觉得上面的描述还是有点问题的。根据上面的描述,它认为肯德基与麦当劳是Factory。它们怎么可能是Factory呢?他们应该是concrete product!我觉得一个正确的理解是这样子的:mm们都喜欢吃鸡翅和鸡腿(mm们真能吃噢),不同的mm喜欢的可能不一样,比如说mm甲喜欢K的鸡翅和K的鸡腿,mm乙则喜欢K的鸡翅和M的鸡腿,mm丙则喜欢M的鸡翅和M的鸡腿。所以说,这个时候,creator应该是我带来的mm(今天我带好多mm来噢,哈哈)。cCreator就是mm甲或乙了。那么Factory应该是mm们。而鸡翅和鸡腿则是iProductWing和iProductLeg,肯德基的鸡翅和鸡腿则是cProductWing和cProductLeg,麦当劳的也是一样的。
- 设计模式与泡mm的关系之工厂模式及工厂模式的再思考
- 设计模式与泡mm的关系之template method模版方法模式及再思考
- 设计模式与泡mm的关系之Command命令模式及再思考
- 设计模式与泡mm的关系之iterator迭代模式及再思考
- 设计模式与泡mm的关系之Mediator中介者模式及再思考
- 设计模式与泡mm的关系之Memento备忘模式及再思考
- 设计模式与泡mm的关系之Observer观察者模式及再思考
- 设计模式与泡mm的关系之state状态模式及再思考
- 设计模式与泡mm的关系之strategy策略模式及再思考
- 设计模式与泡mm的关系之visitor访问者模式及再思考
- 设计模式与泡mm的关系之Builder生成器模式及Builder模式的再思考
- 设计模式与泡mm的关系之Prototype原型模式及原型模式的再思考
- 设计模式与泡mm的关系之Adapter适配器模式及适配器模式的再思考
- 设计模式与泡mm的关系之Bridge桥接模式及桥接模式的再思考
- 设计模式与泡mm的关系之Composite组合模式及组合模式的再思考
- 设计模式与泡mm的关系之Facade外观模式及外观模式的再思考
- 设计模式与泡mm的关系之flyweight享元模式及享元模式的再思考
- 设计模式与泡mm的关系之Proxy代理模式及代理模式的再思考
- 本.拉登说:"中国是世界上唯一惹不起的国家"
- 又过生日啦,哈哈
- Spring学习笔记(详细的控制器实例)
- 找工作的大学生---心理乱批(1)
- 关于"猴子的寓言:要跳槽吗?"
- 设计模式与泡mm的关系之工厂模式及工厂模式的再思考
- 家庭调味品的治病功能
- 哪些食物会使皮肤变黑?
- 尖头皮鞋对健康有害无益
- 喝汤的误区
- 枸杞最适合用来消除疲劳
- 天惩罚我的心
- 空腹应忌口的食物
- "保卫钓鱼岛"进展顺利