分享
 
 
 

旅店管理系统开发过程中的插曲1--什么是对象

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

结束“旅店管理系统用例流程分析 ”之后,心里真是有些忐忑不安,因为实在不知道下面接着改写什么,按着自己的推理把这一张的题目定义为“旅店管理系统中的类的概述”,去csdn看了一下前一章,果然出了问题,有两位同行给出了回复如下:

tobato (2003-7-16 20:41:55)

插一句, 仔细看了一下,用例的写法好像有问题。^O^

tobato (2003-7-16 20:39:26)

呵呵,用例可以说和OO是没有什么关系的。 使用用例是为了更好的明白你要解决的问题。 但是解决这个问题的方法你可以用oo也可以不用oo.

dove_young (2003-7-16 16:05:24)

还有,忍不住再提醒你一句: 到目前为止,你的这些东西和 OO 还没沾上边儿呢。 问题定义、流程分析,这些东西都既可以服务于 OO,也可以服务于非 OO。

dove_young (2003-7-16 16:02:33)

结束了用例流程分析之后,我发现我陷入了一个困境,应为我根本不清楚用例这个词汇的含义是什么 ???? 不要这么夸张吧?你这样会把小朋友们吓着的。 晕啊……

果然如此,菜鸟就是菜鸟,不过我还是要声明一下,这是我第一次真正的设计一个东西,而且本人又非科班出身,所写的内容都是事实,并非为吸引眼球而故作玄虚。用例这个概念也的确刚刚接触到。可以说关于设计的一切都是初次接触。所以绝对没有吓小朋友的心理,而且我真诚地希望自己能够从这个系列中学到些什么,最好其他人也可以学到些东西。所以在还没有到达悬崖之前我还是要坚持下去,并且希望对程序设计有较深了解的同行可以给出更多的指点。谢谢诸位了。

在进入我们的正题之前我先说一下看了上次提到的“Building user interfaces for object-oriented systems”(http://www.javaworld.com/javaworld/jw-07-1999/jw-07-toolbox.html)又给了我很多困惑和疑问。

其中第一个困惑就是Allen Holub(“Building user interfaces for object-oriented systems”和“OO设计过程”的作者)非常重点地提出:我们进行的是OO的设计,而不是CB(class-based)的设计(We're doing object-oriented design, not class-based design)。本来要把下一节的的标题作为“旅店管理系统中的类的概述”现在看来要改为“旅店管理系统中的对象的概述”了。也许这看起来是无关紧要的,但是既然Allen Holub明确地提出这一点,我想他必有自己的意义在内(想来也是正确的,以前使用Delphi编程时使用的方法绝大多数都是类方法也就是静态方法,根本没有体现出OO)。他在文中提到“我们在运行期所使用的是一组对象,而不是类(对象的描述)(what you have at runtime is a bunch of objects, not classes -- animals, not their descriptions)”

接下来的问题更加让我无法承受(真的要吓小朋友了):Allen Holub 对于对象的定义进行了全面的否定。他认为对象是一个能力(capabilities)的集合,是由它可以做什么来定义,而并非由他怎么做来定义--数据是怎么做的一分。他认为对象绝非是一个数据结构(其中包括了一组方法用来操作数据结构)[1]。Allen Holu使用更切合实际的术语将对象定义为:一个对象是由他所接受和发送的消息定义,处理这些消息的方法组成了这个对象唯一的与外部的接口[2]。

第三、Allen Holub认为,OO的好处在于是一个程序更容易开发和维护,同时提到多层结构并没有做到这一点(我一直认为多层结构的一个好处就在于提供了更好地维护方案)。关于这一段的原文找不到了,但是说得蛮有道理的。

......

Allen Holub为OO的系统作了一个标准(只提供英文):

1、All data is private. Period. (This rule applies to all implementation details, not just the data.)

2、get and set functions are evil. (They're just elaborate ways to make the data public.)

3、Never ask an object for the information you need to do something; rather,ask the object that has the information to do the work for you.

4、It must be possible to make any change to the way an object is implemented, no matter how significant that change may be, by modifying the single class that defines that object.

5、All objects must provide their own UI.

看来需要学习的还很多,估计旅店管理系统以后的几篇可能是关于Allen Holub理论的文章。谢谢大家的支持。

[1]You may have read in a book somewhere that an object is a datastructure of some sort combined with a set of functions, called methods, that manipulate that datastructure. Balderdash! Poppycock! First and foremost, an object is a collection of capabilities. An object is defined by what it can do, not by how it does it -- and the data is part of "how it does it."

[2] In practical terms, this means that an object is defined by the messages it can receive and send; the methods that handle these messages comprise the object's sole interface to the outer world.

待续

版权所有:idilent 网站转载请注明作者 其他转载方式请与作者联系(idilent@yahoo.com.cn)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有