设计一个集装箱货物托运单的类(200分)

T

tafeng

Unregistered / Unconfirmed
GUEST, unregistred user!
我现有一个集装箱货物托运单,其中有二三十个数据域,有一些是重复的数据域,比如集装箱号,箱数,种类,公斤等。
现在想写一个类,把这些数据域的操作,比如导入(从文本文件),导出(导成文本文件),对数据域的控制(比如限
定公斤),和对数据库的操作,比如将其插入,取出等。
想实现类与界面的分离,类与数据库的无关性(不合具体的数据库结合)。
请问各位如何实现,最好给出例子,有思路也行,分不够在加也可。
 
老兄,你的需求分析太简单了,如果要写代码的话,都无从下手啊。
我想做两个类,一个是实体类,既集装箱本身的数据,还有一个是控制类,用来控制其实体
类的数据,其增,删,改操作是通过控制类来实现,其中关键是找出该类的可复用的代码,
然后用接口代替他的不同部分。
实体类应成为控制类的一个属性,然后你可以用设计模式中的STATE模式,实现增,删,改
的操作。
 
billy_yuan: 兄
谢谢你的回复,数据域有几个:发货人姓名或代理人姓名地址,联系人, 电话 ,装箱场地,可否转船
可否分批,装期,效期,制单日期,运费支付,备注,编号,发货人,收货人,通知人,前程运输,收货地点,船名,
航次,装货港,卸货港,交货地点,(集装箱号,封志号,件数,货名,毛重,这些字段有多个数据象DbGrid形式)等。
现在想将这张单从客户那发到服务器,通过电子邮件物形式。(是一个单据对应一封电子邮件)
而且有许多这样的单据,需要对其管理。
我对设计模式中的STATE模式不熟,能否请你在指点指点。
 
你的需求我还是不太明白,我不懂船务。
你在那里管理,在客户端管理还是在服务器端管理,
你得首先对你的数据域进行分类,这你肯定能做到,是根据业务规则来做的。
你首先得定义你的数据的数据结构,即电子邮件的数据结构,你把电子邮件的内容读入到
你所定义的数据类中,然后把数据类的实例关联到控制类中,控制类对其进行操作,其中
数据类应包含他的状态,即增,删,改3重状态,然后控制类再根据他的状态再对数据进行
修改,最后提交到数据库。每一张单都要有一个主键,以便控制类对其控制。
设计模式中的STATE其实就是表示数据类的状态,你可能以前用过。
我不知道为什么要用电子邮件,其实你把数据提交到中间曾的话,一样的可以实现啊。
 
对亚对呀,同billy_yuan所言,客户通过web页面填单,中间件处理,比mail规范易操作。
不要告诉我你们没有网站。
不过为什么实体类应成为控制类的一个属性?
我觉得把控制类作为实体类的事件来出理,更符合oop思想。
一个实体类,定义不同的事件实现各类操作。
个人愚见,不一而足。
 
用电子邮件的原因是发送者和接收者之间是多对多的关系。比如A发送一个单据给B,B收到后
还要回执一封,说明B回到了。如果没有回执,A就要再发一遍。
这个程序服务器端和客户端都要做。客户端还要留一个接口,方便客户以后自己的程序直接向
客户端送数据(不用在输入了)。这里就是两个进程之是交换数据了。

 
我尽量把逻辑放在服务器上面,要不然的话,你把逻辑放在客户端的话,如果客户端很多的话
你升级一次,你就会说 神啊,救救我吧!这就是我为什么把控制类放在服务器上的原因了
不知道你对3层熟悉么,你在中间层上写函数,然后把实体类做为参数传到中间层上的函数
里,然后用控制对它进行控制,那么通过函数的返回值判断有没处理啊。用DCOM通讯客户端几乎
不需要什么设置。
 
接受答案了。
 
顶部