关于面向对象的软件设计,高手请近(600分,如果答的好,一个人可全的)(300分)

  • 主题发起人 主题发起人 小乔
  • 开始时间 开始时间
gudong的建议很好,我也觉得在对OO不是很熟悉的情况下,最好还是用原来的成熟的开发方法,要用OO可以参照<重构>的方法。
 
楼上的各位兄弟看来都没有真正的理解OO,OO不是“1.深入淺出DELPHI 6 清華大學出版
社2.DELHI6數據庫開發 飛思科技產品研發中心 3.DELPHI 6 入門與提高 人民郵電出版
社”,也不是“Com, Corba”,这些都是OO的产物。如果从Com中去了解OO,简直是一个
恶梦,毕竟这些东西牵涉到了和多Windows的底层应用,你了解为什么要使用Marshal,为什
么要使用套间吗?你了解真么如Delphi一样建立DataSnap吗?微软并没有公开实现COM的代
码,那些代码就是精华,是OO的秘密。楼上的一位兄弟竟然认为采用对象的方式会和
Delphi的快速开发想冲突!!!还有一个兄弟说“数据库结构变化不大的库,可以考虑将
所有的数据库操作封装到一个类里”,这种方式根本不是OO的方式,充其量是一个工具集
合罢了。为什么一提起数据库就想到ADO,BDE之类的东西,而且要把企业逻辑放在 OnClick
中呢?难道数据库的开发和其他类型的开发真的不一样吗?我不明白为什么一个TADOQuery
能在开发中处于主导地位?这不过仅仅是一个从数据存储的地方取数据的过程罢了。OO是什
么?OO就是模仿我们的社会,就是对不同的社会现象进行封装,这就是企业逻辑,这就是
OO。OO不能解决的问题如下,我以为:继承和社会的遗传不一样,而且对于进化和变异根
本没有一点支持。
办法进行
 
相关。。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=882692
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=1951482
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1061399
http://www.delphibbs.com/keylife/iblog_show.asp?xid=300
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1951482
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2035541
 
to jhwh:什么是你理解的OO呢?
OO是什么?OO就是模仿我们的社会,就是对不同的社会现象进行封装,这就是企业逻辑,这就是OO。OO不能解决的问题如下,我以为:继承和社会的遗传不一样,而且对于进化和变异根本没有一点支持。

我觉得你说的“OO就是……就是对不同的……进行封装”差不多说到点子上了,继承、封装、多态里最重要的应该是封装,封装并不光是指类中的数据或方法设成私有,而且包括更大范围里的封装,如类的封装(facade)、层次级的封装。这就像一个社会组织,当它的规模不断增大时,自然会出现层次结构以使管理更清晰。
至于继承和你说的遗传,我想软件问题应当更像社会形态的更替而不是自然物种的进化。社会形态的变化无论规模大小,对发生变化的组织来说都会是伤筋动骨的,大概要到共产主义社会才能解决吧
 
转向OO的很现实的问题,您可以去看看BOLD,DELPHI下的一个数据库OR Maping 与持继框架,提供从UML-Data Struct-Source-UI一整套的解决方案,不管在我们的实用中有没有用,去学学是很好的。
我还是推荐去看一看“JAVA与模式”这本书,GOF的设计模式很简炼,但我感觉还是不那么容易看懂。
兄弟,一切还得自己多学多看。[:D]
 
封装数据及对数据的操作,对外提供接口,对接口编程。
关于这个基本的原则,我是最近几个月看了N多的书和近几年的实上才慢慢理解的。(真不知我是笨还是聪明!)
总结看来,其实大多数和对象编程和设计的问题,在理解了这个原则后,思路都会慢慢变得清晰。
 
我也有同感。也是对象设计、数据界面分离方面的问题。
于是,我就买了刘艺的《DELPHI面象对象编程思想》。
你也买本看看吧。很好的。谢谢。
 
从“四人帮”的《Design Patterns》开始吧
 
楼主是男是女?
看小乔初嫁了
哈哈,那是周谕的老婆,好漂亮的
 
看看DELPHI的控件的继承和所有的内容就知道是怎么回事。
 
面向对象的好处:1、结构清晰;2、代码重用;
实现这些好处的手段:封装、继承、多态;
实现的方法:多实践!好多东西是“只可意会,不可言传”
相信这里没有谁会问“什么是OO”之类的问题吧!
 
小孩没娘,说来话长,呵呵。
 
>6、如何与三层结构结合?
创建一个类:TmyQuery,完成ADOQuery与ClientDataSet封装。单机版代码不用改变!
 
学习一下!
 
后退
顶部