工厂模式学习报告ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•具体产品(Concrete Product) 角色:工厂模式所创建的任何对 象都是这个角色.具体由一个 JAVA类实现.
}
else
{
throw new BadFruitException("Bad fruit request");
}
}
}
.
简单工厂模式的结构
工厂类(Creator)角色:担任这个 角色的是工厂方法模式的核心, 含有与应用紧密相关的商业逻 辑.具体由一个JAVA类实现.
•抽象产品(Product)角色:一般 是所有公共产品的公共拥有的 接口.可以是接口也可以是抽象 类.
.
Class Grape:
public interface Fruit { void grow();
void harvest(); void plant();}
public class Grape implements Fruit { public void grow()
{ System.out.println(“Grape is growing..."); } public void harvest() { System.out.println(“Grape has been harvested."); } public void plant() { System.out.println(“Grape has been planted."); } }
{
return new Apple();
}
else if (which.equalsIgnoreCase("strawberry"))
{
return new Strawberry();
}
else if (which.equalsIgnoreCase("grape"))
{
return new Grape();
.
设计模式的分类
GOF的<设计模式>一书中提出了23种模式,而这23种模 式又可划分为创建型模式,结构型模式,行为型模式.工厂模式则 属于创建型模式. 工厂模式专门负责讲大量有共同接口的类实例化,工厂模式可以 动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个 类.工厂模式有以下几种形态:
•简单工厂(Simple Factory)模式 •工厂方法(Factory Method)模式 •抽象工厂(Abstract Factory)模式
.
Class FruitGardener:
public class FruitGardener
{ public static Fruit factory(String which) throws BadFruitException
{ if (which.equalsIgnoreCase("apple"))
“设计模式”学习报告
移动互联子公司 胡凯 2003-08-07
.
概要:
•模式概论 •简单工厂模式 •工厂模式 •设计模式的实际应用 •总结 •相关资源
.
▪模式概论
什么是模式 为什么要用模式 设计模式的分类
.
什么是模式 ?
模式,其实就是解决某一类问题的方法论。把解 决某类问题的方法总结归纳到理论高度,那就是模 式。
以下就这几个模式的结构和实例与大家分享一下(其他的我还不太 懂.^_^).相信当中有不正确地方,还望大家提出,指正.
.
简单工厂 (Simple Factory)模式
•简单工厂模式的引进 •简单工厂模式的结构 •简单工厂模式的实现 •简单工厂模式的优缺点
.
简单工厂模式的引论
简单工厂模式,又称静态工厂方法模式(Static Factory Method Pattern). 我们可以先来看一个实际生活中的例子:一个农场公司要向市场销售各类水果, 有以下几类水果:葡萄Grape,草莓Strawberry,苹果Apple.考虑到它们的共性,我们 一般是定义一个接口为水果(Fruit)
.
类的实现
Class Apple:
public interface Fruit { void grow();
void harvest(); void plant();}
public class Apple implements Fruit { public void grow()
{ System.out.println("Apple is growing..."); } public void harvest() { System.out.println("Apple has been harvested."); } public void plant() { System.out.println("Apple hBaidu Nhomakorabeas been planted."); } }
Alexander给出的经典定义是:每个模式都描述 了一个在我们的环境中不断出现的问题,然后描述 了该问题的解决方案的核心。通过这种方式,你可 以无数次地使用那些已有的解决方案,无需在重复 相同的工作。
模式有不同的领域,建筑领域有建筑模式,软 件设计领域也有设计模式。
.
为什么要用模式?
因为每一个模式描述了一个在我们周围不断 重复发生的问题,以及问题的解决方案的核心,它是 一种指导,在一个良好的指导下,有助于你完成任 务,有助于你作出一个优良的设计方案,达到事半 功倍的效果。而且会得到解决问题的最佳办法。
.
Class Strawberry:
public interface Fruit { void grow();
void harvest(); void plant();}
public class Strawberry implements Fruit { public void grow()
{ System.out.println(" Strawberry is growing..."); } public void harvest() { System.out.println(" Strawberry has been harvested."); } public void plant() { System.out.println(" Strawberry has been planted."); } }
}
else
{
throw new BadFruitException("Bad fruit request");
}
}
}
.
简单工厂模式的结构
工厂类(Creator)角色:担任这个 角色的是工厂方法模式的核心, 含有与应用紧密相关的商业逻 辑.具体由一个JAVA类实现.
•抽象产品(Product)角色:一般 是所有公共产品的公共拥有的 接口.可以是接口也可以是抽象 类.
.
Class Grape:
public interface Fruit { void grow();
void harvest(); void plant();}
public class Grape implements Fruit { public void grow()
{ System.out.println(“Grape is growing..."); } public void harvest() { System.out.println(“Grape has been harvested."); } public void plant() { System.out.println(“Grape has been planted."); } }
{
return new Apple();
}
else if (which.equalsIgnoreCase("strawberry"))
{
return new Strawberry();
}
else if (which.equalsIgnoreCase("grape"))
{
return new Grape();
.
设计模式的分类
GOF的<设计模式>一书中提出了23种模式,而这23种模 式又可划分为创建型模式,结构型模式,行为型模式.工厂模式则 属于创建型模式. 工厂模式专门负责讲大量有共同接口的类实例化,工厂模式可以 动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个 类.工厂模式有以下几种形态:
•简单工厂(Simple Factory)模式 •工厂方法(Factory Method)模式 •抽象工厂(Abstract Factory)模式
.
Class FruitGardener:
public class FruitGardener
{ public static Fruit factory(String which) throws BadFruitException
{ if (which.equalsIgnoreCase("apple"))
“设计模式”学习报告
移动互联子公司 胡凯 2003-08-07
.
概要:
•模式概论 •简单工厂模式 •工厂模式 •设计模式的实际应用 •总结 •相关资源
.
▪模式概论
什么是模式 为什么要用模式 设计模式的分类
.
什么是模式 ?
模式,其实就是解决某一类问题的方法论。把解 决某类问题的方法总结归纳到理论高度,那就是模 式。
以下就这几个模式的结构和实例与大家分享一下(其他的我还不太 懂.^_^).相信当中有不正确地方,还望大家提出,指正.
.
简单工厂 (Simple Factory)模式
•简单工厂模式的引进 •简单工厂模式的结构 •简单工厂模式的实现 •简单工厂模式的优缺点
.
简单工厂模式的引论
简单工厂模式,又称静态工厂方法模式(Static Factory Method Pattern). 我们可以先来看一个实际生活中的例子:一个农场公司要向市场销售各类水果, 有以下几类水果:葡萄Grape,草莓Strawberry,苹果Apple.考虑到它们的共性,我们 一般是定义一个接口为水果(Fruit)
.
类的实现
Class Apple:
public interface Fruit { void grow();
void harvest(); void plant();}
public class Apple implements Fruit { public void grow()
{ System.out.println("Apple is growing..."); } public void harvest() { System.out.println("Apple has been harvested."); } public void plant() { System.out.println("Apple hBaidu Nhomakorabeas been planted."); } }
Alexander给出的经典定义是:每个模式都描述 了一个在我们的环境中不断出现的问题,然后描述 了该问题的解决方案的核心。通过这种方式,你可 以无数次地使用那些已有的解决方案,无需在重复 相同的工作。
模式有不同的领域,建筑领域有建筑模式,软 件设计领域也有设计模式。
.
为什么要用模式?
因为每一个模式描述了一个在我们周围不断 重复发生的问题,以及问题的解决方案的核心,它是 一种指导,在一个良好的指导下,有助于你完成任 务,有助于你作出一个优良的设计方案,达到事半 功倍的效果。而且会得到解决问题的最佳办法。
.
Class Strawberry:
public interface Fruit { void grow();
void harvest(); void plant();}
public class Strawberry implements Fruit { public void grow()
{ System.out.println(" Strawberry is growing..."); } public void harvest() { System.out.println(" Strawberry has been harvested."); } public void plant() { System.out.println(" Strawberry has been planted."); } }