OO的目标是什么?

原创 2005年03月03日 21:55:00

面向对象的编程思想已经深入到了当今软件开发的方方面面,而我们一直鼓吹的OO的最终目标是什么?或许说最终目标有些过头,那OO带来的最大好处是什么?我们张口而出:软件复用!

真的是这样吗?

“Grady Booch:我一般不相信广告宣传。或许我是那种愤世嫉俗的人--世上不存在万能药!不带虚假的。正如前面提到过的,软件开发过去是、现在是、将来也仍然是很艰难的,并且我没有预见到任何事情能改变这一点。就对象而言,其广告宣传声称它会增加重用。是的,它确实如此,不过不是是以我们不曾经期望的方式,因为OO编程语言导致了设计模式的产生。结果,我们在与编程语言不相关的层面上看到了重用,也就是在设计本身这一层面。我们实现了对重用的承诺吗?是的,不过不是我们最初期望的那种方式--对许多技术来说,这都是不变的真理。”

“Grady Booch:我对OO编程的目标从来就不是复用。相反,对我来说,对象提供了一种处理复杂性的方式。这个问题可以追溯到亚里士多德:您把这个世界视为过程还是对象?在OO兴起运动之前,编程以过程为中心--例如结构化设计方法。然而,系统已经到达了超越其处理能力的复杂性极点。有了对象,我们能够通过提升抽象级别来构建更大的、更复杂的系统--我认为,这才是面向对象编程运动的真正胜利。”

“Grady Booch:我看到了诸如J2EE(Java 2平台)以及Microsoft的.NET等平台的成熟。虽然两个平台都会继续主宰中间件市场,但是它们只能逐渐地成熟。例如,人们将对其中任一个平台付出如此大的投资,以致他们无法承担这些平台发生根本变化。因此,我们将会看到一定程度的稳定--这对整个行业来讲是有利的,因为技术剧变会给公司带来极大压力和矛盾。

此外,如果让我预测未来,我预见面向方面编程(aspect oriented programming)的崛起。今天的大型软件系统和高性价比的系统包括数万个移动部分,因此我们倾向于从来不关闭它们。所以,面对随之而来的挑战就是如何在不关闭系统的前提下对系统进行改进变这样的系统而又不关闭它们,使之通过包容众多的利益相关人的解决方案来提供附加价值。同时还要利用众多风险投资者来增加价值,用以作为解决方案的一部分。利益相关人风险投资者可以是包括图形艺术家、网络人员、安全人员和业务专家。在这样的情况下,您不能把这个问题看成是传统的编程问题。事实上,您不再构建一个程序,而是在不断对 -- 程序是某个大型系统的可变部件,那些部件彼此相互关联的部件进行改变连接。在这种环境中,通过使用方面(aspect),您将基于横切(cross-cut)那些部分的线程来构建系统,让领域专家从那些特定视角"表达一个方面(aspect)"。我认为在接下来的两年左右,面向方面编程(aspect-oriented programming,AOP)将在测试、部署和业务规则方面取得成果。”

OO与设计模式的原则、目标

前两天,和一朋友聊到OO设计原则时,对设计模式有了更深的了解,在这里总结一下,与大家分享。 OO(Object–Oriented )面向对象    OO方法(Object-Oriented Met...

OO与设计模式的原则、目标

前两天,和一朋友聊到OO设计原则时,对设计模式有了更深的了解,在这里总结一下,与大家分享。 OO(Object–Oriented )面向对象    OO方法(Object-Oriented Met...

OO与设计模式的原则、目标

前两天,和一朋友聊到OO设计原则时,对设计模式有了更深的了解,在这里总结一下,与大家分享。 OO(Object–Oriented )面向对象   OO方法(Object-Oriented Met...

编译c#项目,在项目属性中,平台与目标平台的区别是什么?

.NET编译、WOW64注册表访问、同时在X86和X64平台上部署应用程序 [翻译文章,原文请参考:http://www.codeproject.com/Articles/51326/Net-Co...
  • wlanye
  • wlanye
  • 2015年05月15日 10:04
  • 2834

是什么阻碍了你的机器学习目标?

我收到过许多想开始学习机器学习的开发者和学生的邮件。我问他们的第一个问题是:是什么阻止了你开始学习? 我试图找出让他们挣扎的核心原因,大多数时候都是一些自我限制的想法在阻止他们前进。 这篇...
  • Eaton18
  • Eaton18
  • 2015年04月22日 14:13
  • 322

我的目标是什么?

昨天逛微博看了Denny发的一个帖子,引发了我心中某种的共鸣。 我有理想么?我的目标是什么?为什么我只有三分钟热情?我为什么会经常半途而废?为什么会懒惰?为什么每次到最终关头才知道努力补救?为什么万事...

三年的今目标使用—带给我的是什么

对于今目标的使用,当然得追溯到三年前—因为自己的手指触碰,打扰了一群的孩子。从那刻起,变奠定了自己与今目标的三年缘分。 但是,三年的时间,今目标到底给我带来了什么?? 上次今目标市场部的职员过来视...

编译c#项目,在项目属性中,平台与目标平台的区别是什么?

.NET编译、WOW64注册表访问、同时在X86和X64平台上部署应用程序 [翻译文章,原文请参考:http://www.codeproject.com/Articles/51326/N...

你优化系统的目标是什么?

你优化系统的目标是什么? url: http://kb.cnblogs.com/page/183123/
  • jackpk
  • jackpk
  • 2014年05月23日 07:45
  • 452
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OO的目标是什么?
举报原因:
原因补充:

(最多只允许输入30个字)