以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 软件工程论坛 』   (http://bbs.xml.org.cn/list.asp?boardid=48)
----  Premature operation orderings 早产的操作顺序[原创]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=48&rootid=&id=30929)


--  作者:pennyliang
--  发布时间:4/20/2006 11:15:00 AM

--  Premature operation orderings 早产的操作顺序[原创]
关键字 Top-down,bottom-up,structual,oo,message-based,blackboard

从行为的角度分析,每一个行为都有发起者,动作,接受者组成,接受者可能存在一个对发起者的反馈。那么任何一个程序设计范型都必须有Action和Object,否则就不完备。其中object包含{发起者,接受者}。那么剩下来的问题就是如何看待Action和Object,那个是一等公民,那个是二等公民的问题。

Top-down设计是首先对问题有明确的了解,这个了解包括,问题分解的方法,问题分解后的执行顺序,这就产生了"Premature operation orderings",事实上这样增加了控制性,却降低了可重用性,结构化的设计对操作的顺序都包含在了代码中,这样的顺序的紧绷的,难以变化的。

Bottom-up设计从一般的角度考虑,一开始设计最一般,最简单的结构,不断通过组合达到那个"Top",每个一般的设计都暴露出一系列的结构"shopping lists"但并没有规定它的执行顺序,而是在更高层次的使用该接口时去定义它的顺序,这样重用性加强了,但是控制力减弱了。

结论:structual,oo,message-based,blackboard,从这个发展过程中看到,重用性,扩展性,灵活性在不断加强,而控制性在不断降低。



--  作者:jiachong
--  发布时间:4/21/2006 2:01:00 PM

--  
最顶级的层次应该就是人工智能了
像黑白模式提到经常用于基于知识的系统,我觉得黑板是环境的一种简化而集中的体现
--  作者:jiachong
--  发布时间:4/21/2006 2:09:00 PM

--  
我还是倾向于从问题空间和解空间的角度去理解,越低级的程序设计越是在远离原是问题世界进行设计和实现
随着程序设计层次的提高,人们可以越来越以问题的本来面目去进行程序的设计,例如OO我认为是一种简化的客观世界模型,但仍然包含了许多解空间因素
到最高级的阶段,开发者可以通过对客观世界的本来面目编写程序了,体现为开发者表述业务规则和知识之后剩下的工作就不用人去做了

用我听到的一位学者的说法概括之就是:通过写知识来编写程序


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms