食之无味,弃之可惜,面向对象设计在Delphi中不过是一块鸡肋。 (100分)

L

lncd

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在的感受是,
用delphi开发Mis项目,
没有必要采用面向对象的设计。
用传统的面向过程设计会简单得多。
//
但在分析阶段一定要用面向对向的思想进行分析。
这样可以清楚地看到系统的来龙去脉。
======================================
同意的请举手,不同意的说说理由。
 
这要说得很长了~
不过你提问题的方式实在让人百思不得其解:(
我也不想多说废话,鼓励你多看项目代码,多做项目就能理解,要是没有实践一味钻OOP是没有任何的认识和理解的。
 
DELPHI的VCL代码不就是面向对象的设计吗?
多研究VCL代码可以学到不少面向对象的设计。
 
我的工作主要是做具体的Mis项目,
也不怕大家笑话。
我做过和见过的项目(不是如VCL之类的类库),Delphi的应用方式都是:
按功能划分模块-》细化功能模块-》创建窗体-》拖控件-》写事件
当然,我们也归纳了一套函数库,
用起来比类库方便。不用创建对象,单元.函数名()就可以了
==========================================================
上述方法看起来与面向对象的设计格格不入。
我也曾试图分析项目中的对象和类。
但付诸代码时总是束手束脚,步履维艰。
=========================================================
张大侠说VCL可以参照,但VCL与Mis项目相差太远了。
况且那只是代码,我很难看透设计VCL的人在编码前想了些什么,做了些什么。
大虾们,你们的项目是用面向对向的方法在进行设计吗?
如果是,非常希望你能给我们讲讲课。先谢谢你了。你的设计是怎么进行的?能谈谈吗。
 
来说,mis系统应该更可以用面向对象来设计,因为mis更贴近生活实际情况,提取对象更加容易。
我觉得你首先要考虑系统中涉及的各个概念,提取分析类,然后才涉及到设计类(界面类、边界类、控制类等),注意界面和功能一定要分开。设计类的时候要考虑最小的耦合度。
也就是说说而已,做起来挺难的。
 
我們現在也是象樓主這樣做的,所以維護起來很煩。
各個客戶的東西大同小異,現在改代碼就煩,
設計真的很重要。
現在也准備提些東西出來。
 
同意wolf_cyj的说法
 
对象这个东西,怎么说好呢?
大家认为能写几个类,然后将它们集中到一个程序中就称为oop了吗?
到底怎样才算oop?我是不知道的。
我感到真正oop,应该是在设计时候下功夫,可目前我们的时间都花在哪里了?回想我们的开发过程,扪心自问,到底有采用了oop方法?
我现在有个感觉:只有开发环境中的oop才是真正的oop:如vcl,Vc++库等,是这样吗?
不知道那个dfw真正用到了oop,想请教哦!
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=167586
 
你如果用ROSE或PD来设计UML图,最终会设计到类图,就达到你说的了。
 
seabelial:
我认为:ROSE、PD、UML都是面向对象设计的工具,
没有思想这些工具有什么用?
你真正在Mis项目中成功运用了oo设计吗?
如果有,请说说具体是怎么做的,以及你的经验和感受。
光一句“你如果用ROSE或PD来设计UML图,最终会设计到类图,就达到你说的了。 ”
是没有人可以理解的。
/////////////////////////////////////////////////////////
做Mis项目离不开数据库。数据库却不是面象对象的。
用户的最终要求也是实现一个个的功能,
而不是完成一个个的对象。
要把业务设计成对象,最后再还原成业务需求。
这是一个很困难的过程,
不是装上一个UML工具就能办得到的。
面向对象不是万能的,它只能在某些环境和场合显示出其优势。
面向过程却是万能的,它只在某些场合不如面象对象。
///////////////////////////////////////////////
我现在的感受是:
做Mis项目,在分析阶段用OO方法是绝对必要的.
这可以让我们理清整个系统的来龙去脉。不至于顾此失彼漏掉一些重要环节。
设计阶段要抛开OO。根据用户的上一环节用OO方法分析出的业务需求,归纳出功能需求。
再按功能需求划分功能模块。分别设计各个功能模块。
在设计过程中,要注意归纳出公用的东西,把它们做成公用模块(类库或函数库都行)
便于代码重用。
 
很难,很难
除非有人力和时间
否则设计的时间恐怕已经实现出来了
 
呵呵。改标题起作用了。高手开始进场了。
 
首先设计用例,同时划分子系统
然后设置子系统间的顺序图,
然后设计子系统内部的顺序图,也就相当于流程,这个时候可以分析出对象。
然后设计出类图。
大致流程是这样,再细就没有做过了。
 
过程、对象随你怎么用,视具体情况而定
很多处理过程都有共性的用对象的方法来处理是一个很不错的选择
 
seabelial:
设计出的类图在实现时要和界面结合,
对数据库进行增删查改操作是很困难的。
需要写大量的代码。
但这在delphi中可能仅仅是拖个控件,选几个属性就搞定了。
我感觉这样做是得不偿失呀。
 
如何將面向對象與 數據庫的數據對象結合起來, 好象沒什麼好辦法, 在劉藝的 新書好象有提到過, 感覺好不是很實用, 但沒細看!期待有人能給出比較好的思路!!
 
vcl是面向对象的!
Mis系统如何面象对象? 1.数据库是关系数据库,什么时候面向过对象!
2.tdataset 是面向数据的,什么时候面向过对象!
除非有一天数据库里直接存对象并能查询! tdataset直接操作数据对象不是table!
或许那时候 Mis面向对象才有意义![:D]
 
vcl库封装的太多,所以大家都忙着去找控件,写控件
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
顶部