分享
 
 
 

编程的痛苦,CLASS类的划分

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

一直以来都有一种困惑,我应该如何来定义一个类呢??

在我的观念里面,类是用来完成一些相同任务的模板。好比在现实世界里,工人要做工,农民要种田,学生要念书,商人要经商一样,这些各式各样的角色充实了现实社会的运转并发展;同样各式各样的类也充实着了整个程序的世界,协同工作来完成程序的任务,实现程序的功能。而我就是创造这个程序世界的“上帝”,我要创造出这些类来让这个程序世界丰富多彩,可是我该怎么样来划分每一个功能,定义每一个类呢?

早先刚学习OOP的时候,喜欢做一件事情就定义一个类;比如读取XML文件的节点,我就专门写了一个XMLReader的类,只要在构造这个类的时候输入XML文件名,然后就可以查询这个XML文件的每个结点。后来由于需要,对这个类又进行了一定的扩充,把写XML节点,查询,删除节点等各种功能都写在这个类里面,到此为止可以说我就创造出了一个XMLFile文件读写类。

可是随着程序的扩张,这个XMLFile类又要担负起其它的事情。我的客户端程序的配轩文件App.Config是用XML格式的,应用的范围和这个类相当类似,于是我又再这个类里面加入了专门针对读取App.config文件的方法并把配置信息初始化到其它类中。另外,我的三层结构中,数据的传输采用SOAP的格式,于是我又把制做SOAP格式的任务交给了这个类,还有SQL数据库的数据集读写,用要用到这一个类。。。随着程序开发的深入,一些和XML有关的事情我都把它们加入到这个类中,于是这个类变得越来越庞大,越来越难以控制。虽然我创建了一个功能完善齐全的类,但是当我想到实例化后有那么复杂的内容,我就不敢再去轻易使用它,于是它就变成了一个无用的类了。我绕了世界走了一圈后又回到了原点。

观察一下我定义的这个类,可以分为三个部份:第一部份是字段,这些字段用来保存各个输入和输出的变量,比如XML文件名,查找节点的路径名,节点内容等等,随着类的扩大,这一部份的内容也越加复杂,到后来不得不注释每一个字段才能分清楚。第二部份是一些通用的方法,包括这个类的构造函数和析构函数,这一些方法一般都很通用,比如查找指定节点,删除指定节点等等,这一些方法相对比较固定,定义完之后就再也没有多大的变化。第三部份是这个类要完成程序交于的一些特殊性的方法,比如专门用来读取配置文件App.config,格式化SOAP,这些方法只是调用了上面那些通用方法的一种“批处理”格式,不过 实际用到的绝大多数都是这一类的方法。

现在我有一种很深的困惑,这个类到底是做什么用的,用来读取配置文件还是用来格式化SOAP。我不知道要在什么时候实例化一个这样的类,因为我担心实例化对程序会带来很大的负担,这个类实在太大了,如果读一个XML文件也要实例化这样一个类的话,那很难以让我接受啊!

最后,我只能把这个类拆分开来,各尽其职,该读配置文件的还是去读配置文件,该格式化SOAP的还是去做它应做的事。可是这时我又发现,这些不同的类之间又有它们的相同点,如果把它们分成一个个的话,又有代码复用的问题,我是不是又重蹈C++时代码堆积拷贝的问题。

我不知道应该怎么样来定义类,这就和上帝创造世间万物一样的困难,我不是上帝,于是我创建的类就像史前的恐龙一样,很快就要灭亡。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有