一个建立对象的问题

02-10-28 cc
公司的财务预算,每个人每个月要有预算统计,每人每年要有合计,都统计到一张表中。

我该如何建立对象,是一每人每月建一个类,还是每年建一个类,怎么办?

zz
2002-10-29 13:27
没有必要根据时间轴来定义类,1年无非是12个月,从概念上来说

是一致的。还是应该从统计的内容部分入手来分析。

cc
2002-10-29 17:27
最小项是一个人一个月的工资、奖金、全勤奖的组合。最大项是刚才所说的十二个月的总和。

怎么建立?

banq
2002-10-29 22:18
使用数据库,一开始没必要想着建立对象。先建立数据表,然后操作这个数据表就可以了。

cc
2002-10-30 09:22
我何时控制数据的力度呢?建表也可以有多种方式,比如按年建,或按月建,我想现在先考虑一下,以至于以后的对象好操作。

banq
2002-10-30 17:33
当然首先有基本对象 如 工资、奖金、全勤

它们在不同时间有不同的值,这个值你是打印时计算还是之前计算后存放数据库。

cc
2002-10-30 22:27
你说的很对。

我已经想了一种办法。

建立 每用户每月的预算 为一个类,类中属性有用户ID、用户该月的薪金等属性、还有一个该月合计属性。方法就是数据库相关(saveDB,update,del)、计算该月合计等.

再建立一个管理预算类,其中有一个预算方法-计算年的、数据库相关(saveyearDB、..)

不知道这样对不对,banq帮我看看

banq
2002-10-31 17:42
其实你这里现在无所谓类, 就是一些数据库操作bean, 和数据关系紧密后就很不容易对象化,所以GOF设计模式基本是远离数据库的.

cc
2002-10-31 20:44
不会吧,远离数据库还怎么活啊。唯一知道分离的方法就是用DAO模式,你觉得合适么?

还有,jive不是也用数据库么?我看它结合的很好啊,我这个办法也是仿照它做的。

zz
2002-11-01 14:05
从要做什么事情开始(use case),谁会参与这件事情(actors,涉众),参与

的程度和方式等(sequence)入手,分析出现实问题相关的实体和边界类,

实体一般都会mapping道db里的一张表,employee、department、salary

等,用dao很容易设定方法如:

SalaryClientHelper.getSalary(employeeId,startMonth,endMonth)等等

cc
2002-11-01 15:10
是的,我已经按照这样的方式做了。现在关键的是对象粒度的大小,我不知道如何掌握。

显示的信息很多,要用到二维的数据,因此不知道对象建到什么程度。

zz
2002-11-01 15:42
去down几个免费或试用的类似软件,参考后再考虑自己的系统

cc
2002-11-01 16:48
现在是参考jive,可是我想建立的没有这样的模型

钓鱼太郎
2002-11-03 22:43
bang的回答是正解,cc我觉得你还需要深入体会一下面向OO设计的精神

猜你喜欢