OOD之
设计模式之设计模式
主讲:主讲:曲美霞
关于小小馅饼店设计
1设计模式2设计原则3设计实现
1设计模式
何谓设计模式?何谓设计模式?即DesignPatterns是对OOD中常见
问题的具体的解决方法中常见问题的具体的解决方法是对中常见问题的具体的
注意:个经典设计模式注意:23个经典设计模式
设计模式参考书籍
1GangofFourGoF四人组(四人组(帮)
ElementsofReusableObject-OrientedSoftware
2HeadFirst系列之
Java设计模式设计模式
设计模式介绍
(1)创建型模式创建型模式(2)构造型模式构造型模式(3)行为模式行为模式
(1)创建模式:
A简单工厂模式简单工厂模式(SimpleFactory)--不是不是模式的模式--不是模式的模式描述:描述:用于封装创建对象的代码用于封装创建对象的代码创建
B工厂(方法)模式(FactoryMethod)工厂(方法)
描述:
父工厂类只定义创建对象的公共接口,父工厂类只定义创建对象的公共接口,而子工厂类则负责生成具体的类的实例。工厂类则负责生成具体的类的实例。简单一点说,简单一点说,FactoryMethod模式就是生成模式就是生成类实例(对象)类实例(对象)的一种方法
解释:
-父工厂类:定义创建类实例的接口父工厂类:-子工厂类:实现接口定义,生成具体的类的子工厂类:实现接口定义,实例-具有继承关系的产品类:由子工厂类创建具有继承关系的产品类:
参看帮助与比较:参看帮助与比较http://www.ibm.com/developerworks/cn/java/designpattern/factory/
引申思考?引申思考
1在JavaAPI中,请仔细观察和体会此设计模式的中请仔细观察和体会此设计模式的应用?应用
提示提示:
java.util.Canlendar.getInstance()JFCBorderFactorySwingEJBCOMRMI
CORBA
引申思考?引申思考
2此设计模式有种不同的解决
方案分别是此设计模式有2种不同的解决方案种不同的解决方案,分别是ParameterizedFactoryMethod和Factory和
Method,请给出种的实现请给出2种的实现请给出种的实现.
引申思考?引申思考
3ParameterizedFactoryMethod设计模式中,如果用户输入的参数不正确或者没有相应的如果用户输入的参数不正确或者没有相应的product,怎么解决怎么解决?怎么解决提示提示:
提供异常处理(自定义异常类提供异常处理自定义异常类)自定义异常类创建代表参数类型的对象静态常量Java5之后支持的之后支持的enum
C抽象工厂模式(AbstractFactory)
描述:描述:
工厂:工厂:-抽象工厂类(1个):抽象工厂类(个抽象工厂类定义创建不同类实例的多个接口;定义创建不同类实例的多个接口;创建与管理子工厂对象,提供统一方法以取得不同的子工厂对象-子工厂类(多个):子工厂类(多个):生成具体的类的实例产品-抽象产品类(多个):抽象产品类(多个):对产品的抽象具有继承关系的具体的产品类(多个):-具有继承关系的具体的产品类(多个):继承自抽象产品类,继承自抽象产品类,它们之间一般存在或多或少的依耐关系
UML类图结构类图结构
解释:
AbstractFactory模式通过抽象工厂为客户(调用模式通过抽象工厂为客户(模式通过抽象工厂为客户生成多类产品,者)生成多类产品,其中抽象工厂负责管理子工厂对象,其中抽象工厂负责管理子工厂对象,子工厂负责生成某一类具体的产品对象
2设计原则