下载此文档

java工厂设计模式课件.ppt


文档分类:IT计算机 | 页数:约50页 举报非法文档有奖
1/50
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/50 下载此文档
文档列表 文档介绍
The Factory Pattern (工厂模式) Evaluation only. Evaluation only. Created with Client Profile . Created with Client Profile . Copyright 2004-2011 Aspose Pty Ltd. Copyright 2004-2011 Aspose Pty Ltd. 学习问题?随着经济的全球化,一个软件可能要在全球销售。因此,我们设计的软件应该能够通过简单的配置就可以适应不同的国家。?本讲所学的知识将能提供一种有助于解决此问题的方法。 Evaluation only. Evaluation only. Created with Client Profile . Created with Client Profile . Copyright 2004-2011 Aspose Pty Ltd. Copyright 2004-2011 Aspose Pty Ltd. 对象创建问题…?关于 new: ?按照面向抽象的设计原则,我们应该面向接口编程而不是面向实现编程。但是我们每次使用 new 时,是不是正在违背这一原则呢? 我们想用接口但却必须建立一个具体类的实例 Duck duck = new MallardDuck() Evaluation only. Evaluation only. Created with Client Profile . Created with Client Profile . Copyright 2004-2011 Aspose Pty Ltd. Copyright 2004-2011 Aspose Pty Ltd. 问题…?当你拥有一组相关的具体类时,你常常被迫写出类似下面的代码: Duck duck; If (ic) { duck=new MallardDuck(); } else if (hunting) { duck=new DecoyDuck(); } else if (inBathTub) { duck=new RubberDuck(); } 这样做的原因是直到运行时我们才知道需要实例化那个类。这样做的后果是如果应用要做变化或扩展,往往要修改这段代码。这使得维护困难并容易引入错误。 Evaluation only. Evaluation only. Created with Client Profile . Created with Client Profile . Copyright 2004-2011 Aspose Pty Ltd. Copyright 2004-2011 Aspose Pty Ltd. 问题在哪里?是 new 的问题吗? ?从技术上来说, new 并没有任何问题。 new 是 java 最基本的部分。真正的问题在于“变化”?如果对接口编程,我们可实现与许多“变化”的隔离,因为通过多态机制,你的代码对于实现接口的新类依然适用。但是使用具体类麻烦就来了,因为增加新的具体类时相应代码可能就必须修改。 Evaluation only. Evaluation only. Created with Client Profile . Created with Client Profile . Copyright 2004-2011 Aspose Pty Ltd. Copyright 2004-2011 Aspose Pty Ltd. 怎么办呢? ? Duck duck = new MallardDuck() ?上面这段代码所在的模块与 MallardDuck 模块形成了耦合。 Evaluation only. Evaluation only. Created with Client Profile .

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

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数50
  • 收藏数0 收藏
  • 顶次数0
  • 上传人junjun2875
  • 文件大小1.01 MB
  • 时间2017-04-01