下载此文档

java工厂设计模式课件.ppt


文档分类:IT计算机 | 页数:约51页 举报非法文档有奖
1/51
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/51 下载此文档
文档列表 文档介绍
java工厂设计模式课件
学习问题
随着经济的全球化,一个软件可能要在全球销售。因此,我们设计的软件应该能够通过简单的配置就可以适应不同的国家。
本讲所学的知识将能提供一种有助于解决此问题的方法。
*
2021/6/18
;

();
();
();
();
;
}
要求制作
这样,方法就成为的客户。
*
2021/6/18
工厂
{
( ) {
;
((“”)){
= ();
} ((“”)){
= ();
} ((“”)){
= ();
}
;
}
}
工厂中定义了 “生产”的方法。所有客户都可以用它来实例化新的对象
这部分代码就是从()方法中抽出来的。和原来的方法一样,也是通过参数确定的种类。
*
2021/6/18
思考一下!
这看来好像我们只是把问题从一个对象推给了另一个对象!这样做有什么好处呢?
可以解除客户代码()与具体的耦合。
可以有许多个客户,这样,当实现改变时我们只需要修改,而不需修改众多的客户。
提高了聚合度,的职责是使用对象, 的职责是决定创建什么样的对象。
*
2021/6/18
重写类
{
;
( ) {
= ;
}
( ) {
;
();
();
();
();
();
;
}

}
*
2021/6/18
简单工厂模式
PizzaStore
orderPizza()
SimplePizzaFactory
createPizza()
Pizza
Prepare()
Bake()
Cut()
Box()
CheesePizza
VeggiePizza
ClamPizza
PepperoniPizza
可以是一个抽象类,也可以是一个接口。
PizzaStore1
orderPizza()
框架
框架的
对外接口
*
2021/6/18
简单工厂模式
Client
orderProduct()
SimpleFactory
createProduct()
AbstractProduct
methodOfProduct()
Product1
Product2
Product3
Productn
有人认为这还不是一个真正的模式,只是一种程序设计的习惯。
*
2021/6/18
授权店
我们的店非常成功,许多人都想开设我们的授权加盟店。
但是,不同地区的加盟店可能希望供应不同口味的。怎么解决这个问题呢?
*
2021/6/18
解决方法之一:建立不同的工厂
建立不同的工厂:如、 、 ,在中包含相应工厂的实例。其代码类似于:
该店提供纽约风味的
()建立一个生产纽约风味的工厂
()建立一个店,引用纽约风味的工厂
(“”)生产的是纽约风味的
该店提供芝加哥风味的
();
();
(“”);
*
2021/6/18
抽象工厂模式
这么多工厂,可以再增加抽象层
让我们一起来设计…
*
2021/6/18
AbstractFactory
createProduct()
ConcreteFactory
createProduct()
*
2021/6/18
另一种解决方法-工厂方法模式
思路:改写的,将()方法放回到,但是声明为抽象方法,然后,为每一种地方风味创建一个的子类。
*
2021/6/18
改造后的的代码
{

( ) {
= ();
();
();
();
();
;
}
( );
}
在内调用自身的一个方法来制造,而不是使用一个对象
对象成了这里的一个抽象方法
下面我们需要的各种子类(对应不同的地区风味)
*
2021/6/18
让子类做决定
PizzaStore
createPizza()
orderPizza()
NYPizzaStore
createPizza()
()
( ) {
((“奶酪")) {
();
} ((“蔬菜")) {

java工厂设计模式课件 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数51
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2623466021
  • 文件大小1.61 MB
  • 时间2022-01-12
最近更新