没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
The Factory Pattern
(工厂模式)
学习问题
随着经济的全球化,一个软件可能要在
全球销售。因此,我们设计的软件应该
能够通过简单的配置就可以适应不同的
国家。
本讲所学的知识将能提供一种有助于解
决此问题的方法。
对象创建问题…
关于 new:
按照前面介绍的设计原则,我们应该面向
接口编程而不是面向实现编程,因为面向
实现编程会使得我们的设计更脆弱,缺乏
灵活性。但是我们每次使用 new 时,是
不是正在违背这一原则呢?
我们想用接口
但却必须建立一个
具体类的实例
Duck duck = new MallardDuck()
问题…
当你拥有一组相关的具体类时,你常常被迫写
出类似下面的代码:
Duck duck;
If (picnic) {
duck=new MallardDuck();
} else if (hunting) {
duck=new DecoyDuck();
} else if (inBathTub) {
duck=new RubberDuck();
}
这样做的原因是
直到运行时我们
才知道需要实例
化那个类。
这样做的后果是
如果应用要做变
化或扩展,往往
要修改这段代码。
这使得维护困难
并容易引入错误。
问题在哪里?是 new 的问题吗?
从技术上来说, new 并没有任何问
题。 new 是 java 最基本的部分。真正
的问题在于“变化”
如果对接口编程,我们可实现与许多“变
化”的隔离,因为通过多态机制,你的代
码对于实现接口的新类依然适用。但是
使用具体类麻烦就来了,因为增加新的
具体类时相应代码可能就必须修改。
剩余43页未读,继续阅读
资源评论
- q8522634462012-10-08很不错的资源,丰富详细
okokfresh
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功