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的最终目标是什么?或许说最终目标有些过头,那OO带来的最大好处是什么?我们张口而出:软件复用!真的是这样吗...
  • duoshanx
  • duoshanx
  • 2004年09月24日 17:59
  • 1515

OO技术三大特点

面向对象(Object Oriented,缩写为OO)是现代软件技术的精髓。从早期的SmallTalk到如日中天的Java,都渗透着面向对象思想。 OO具有三大特性:封装性、继承性和多态性。想掌握...
  • wangjunwen1990
  • wangjunwen1990
  • 2015年11月22日 14:39
  • 650

PHPOO知识点总结

 面向对象:认识或认知事物的一种方法--->类比 对象是类进行实例化后的结果 object -->物质,事物 类 -->抽象:属性-->外观   行为-->做的事(默认情况下的是缺少了该属...
  • ailxxiaoli
  • ailxxiaoli
  • 2016年07月09日 20:43
  • 956

JAVA程序员的OO思想

写程序大概2年了,OO思想倒是思考过,也应用过,但是到如今没有系统的总结过,所以感觉理解的不够到位,想借此写成博客,今后不断的完善。 1.战略和战术 战略是指对军事全局的策划和指导,战术是指作战的...
  • rnZuoZuo
  • rnZuoZuo
  • 2014年03月29日 14:38
  • 1114

浅谈OO思想

最近看到公司评级中,大量提到了OO思想,特别是开发,虽对我们运维并未要求,但看到这篇文章不错,就自己理解下。 object oriented(面向,面对)(针对分析,需求分析,功能实现)(面向对象的...
  • bbsyi
  • bbsyi
  • 2016年01月26日 09:47
  • 1858

我的JS OO如是观

很久没写博客了,突然想起 JS 的 OO 自己有一个想法,并实现了,于是就拿来作新博文的内容。 关于 JS 的 OO,这里有一份列表,均是我以前总结这方面的心得与体会,不正之处,应要提出。 J...
  • zhangxin09
  • zhangxin09
  • 2011年05月31日 17:48
  • 5150

【OO】全面理解 ABAP Object Step by Step (一)

1,传统的ABAP开发: ABAP 运行环境 报表开发的模块化: REPORT ZXXXX. 全局变量定义. 内表/工作区定义. SELETION-SCREEN定义. INITIAL...
  • hackai886
  • hackai886
  • 2012年09月07日 19:02
  • 4505

OO ALV常用功能完整简例(热键单击…

OO ALV 常用功能简介 目录 OO ALV 常用功能简介... 1 一、所用类:... 2 二、效果图:... 2 单击... 2 双击... 2 F4帮助... 3 ...
  • senlinmu110
  • senlinmu110
  • 2014年01月22日 09:24
  • 1058

一些常见面试OO design题目总结

最近很多公司面试喜欢问一些OO design的题目, 我总结了一些比较高频的题目, 需求不一定准确, 设计的也不一定好, 欢迎提出建议.  1. 电梯设计  2. 停车厂设计  3. 通用卡牌游戏bl...
  • qq508618087
  • qq508618087
  • 2016年11月24日 06:09
  • 2805

SAP ABAP OO ALV 获取当前的alv事件 包括f4帮助,回车按钮,等其他全部按钮alv操作

*   获取当前事件      lv_enter = cl_gui_alv_grid=>CUR_EVENT.
  • forever_crazy
  • forever_crazy
  • 2014年02月14日 15:22
  • 1693
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OO的目标是什么?
举报原因:
原因补充:

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