- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
设计模式读书笔记
01、设计模式读书笔记简单工厂模式 2014/4/21
在设计原则中有这样一句话“我们应该针对接口编程,而不是正对实现编程” 。但是我们 是在一直使
用new关键字来创建一个对象,这不就是在针对实现编程么?
针对接口编程,可以隔离掉以后系统可能发生的一大堆改变。入股代码是针对接口而写,那么可以通
过多态,它可以与任何新类实现该接口。但是,当代码使用一大堆的具体类时,等于是自找麻烦,因为一
旦加入新的具体类,就必须要改变代码。在这里我们希望能够调用一个简单的方法,我传递一个参数过
去,就可以返回给我一个相应的具体对象,这个时候我们就可以使用简单工厂模式。
一一、、基基本本定定义义
简单工厂模式又称之为静态工厂方法,属于创建型模式。在简单工厂模式中,可以根据传递的参数不
同,返回不同类的实例。简单工厂模式定义了一个类,这个类专门用于创建其他类的实例,这些被创建的
类都有一个共同的父类。
二二、、模模式式结结构构
模式结构图如下:
模式分析:
Factory :工厂角色。专门用于创建实例类的工厂,提供一个方法,该方法根据传递的参数不同返回
不同类的具体实例。
Product :抽象产品角色。为所有产品的父类。
ConcreteProduct :具体的产品角色。
简单工厂模式将对象的创建和对象本身业务处理分离了,可以降低系统的耦合度,使得两者修改起来
都相对容易些。当以后实现改变时,只需要修改工厂类即可。
-java提高篇
01、设计模式读书笔记简单工厂模式 2014/4/21
三三、、模模式式实实现现
模式场景:在一个披萨店中,要根据不同客户的口味,生产不同的披萨,如素食披萨、希腊披萨等披
萨。
该例的 ML结构图如下:
代码实现
Pizza制造工厂:SimplyPizzaFactory.java
/**
* 专门用于创建披萨的工厂类
*/
public class SimplePizzaFactory {
public Pizza createPizza(String type){
Pizza pizza = null;
if(type.equals(cheese)){
pizza = new heesePizza();
}
else if(type.equals(clam)){
pizza = new lamPizza();
}
else if(type.equals(pepperoni)){
pizza = new PepperoniPizza();
}
else if(type.equals(veggie)){
pizza = new VeggiePizze();
}
return pizza;
}
}
抽象披萨:Pizza.java
您可能关注的文档
最近下载
- 深静脉血栓诊断和治疗指南(2024版).pptx VIP
- 体育概论 第三版 杨文轩 陈琦 全国普通高等学校体育专业类基础课程教材-第二章 体育功能.ppt VIP
- 焊接工艺卡(焊接工艺指导书).doc VIP
- 人教版PEP四年级上册英语第二单元测试卷(含答案详解)2套.docx VIP
- 第15课《红红火火中国年》第2课时 越过越好中国年 教案设计 2025道德与法治二年级上册.docx
- 市政道路给水工程专项施工方案.doc VIP
- 土力学与基础工程.ppt VIP
- 2025年拍卖从业人员资格练习题测练习题.docx VIP
- 六年级数学求比值和化简比对比练习.doc VIP
- 柴油加氢改质装置培训.pptx VIP
文档评论(0)