分布式COM+对象设计求解(100分)

  • 主题发起人 主题发起人 吗啡
  • 开始时间 开始时间

吗啡

Unregistered / Unconfirmed
GUEST, unregistred user!
问:现要求制作一种小型模拟MRPII系统,要求有订单,计划单,采购单,生产指令单,
如何设计COM+对象,使其扩展性能以及速度达到最佳状态?请将设计的对象进行分类,
包括:事物对象,实体对象等……
请简单说明你的观点,一些或部分都可以,谢谢
(提示:因为有多种单据,那么每一个单据的某一种操作也许需要一个COM+对象来完成
如何来设计这些对象,使其代码重用率较高,并且逻辑清晰)
 
应该先将你对设计的看法拿出来讨论。
你这可是大问题啊,三言两语怎能说完。
 
我想了解的是如何划分对象,比如说,采购单有“新增”,“删除”,“保存”,“读取”
“审核”,等各种操作,那么,对于采购单来说,是因该根据不同的操作分配对象呢,还
是用一个对象就可以了,各有什么不同点?
比如说,“采购单新增”是一个对象,“采购单删除”是一个对象等等,还是全部都分配
到一个对象中,然后有不同的操作方法?
 
对于这样的一个问题来说,是一个大问题,但是如果只需要了解如何去规划对象的话,
应该涉及的东西不多(也许不是,但请各位有做过COM+组件的朋友给予说明),这样
就可以用简单的语言概括了。
我希望知道的是一个模块一般的COM+设计会如何去设计COM+对象而已,如果认为内容
太多,可以针对某一个单据来说明,谢谢。
 
其实也没什么难的。你所有的操作都是都数据集的操作。
所以我认为你只要在APP SERVER上实现几个方法就可以了,关于你只要传一个
SQL语句过来,APP SERVER执行操作,返回Client结果。关于业务逻辑,你就
需要在APP SERVER上搞几个方法了。
APP SERVER其实就是一个COM+。多层应用我很熟的,欢迎和我讨论。
 
最好说的清楚一些。
 
谢谢xingxingz,可是,能不能详细一些描述呢?
 
我觉得好像没有xingxingz说的那样简单吧。
你使用APPSERVER只有一个服务器对象,然后你把所有的操作都封装在其中吗?
如果是这样的话,那么就和COM+不一样了,COM+对象可能会有很多个,其中还要涉及到
事务以及其它的问题,难道用几个方法拼起来就可以了吗?
也许我理解错了你的意思,请说明,谢谢。
 
再来……
 
MTS我设计过。
主要用的是MTS DADAMODULE 结合ADO 存储过程连接SQL 数据库。
方法有二(时间关系,小说几句):
1、对于采购单来说,可以只有一个对象(更新对象),事务为:需要事务;
该对象可以有多个方法,比如:增加、删除……
若这只是对一个数据表操作,不妨增加一个MTS DADA MODULT数据对象,事务:支持事务。
更新对象的不同方法调用该数据对象,进行数据更新。
2、可以只设一个 MTS DATA MODULE 数据对象,事务:需要事务;
在SQL 中编写存储过程,不同方法分别调用不同的存储过程,更新数据库……
可以参考李维(ADO/MTS/COM+)一书
 
其实AppServer只是一个指针接口,通过应用服务器的接口指针可以
访问AppServer里面的接口Interface,每个Interface可以有多个
方法,每个AppServer可以建立多个Interface,只要你乐意。
其实Interface就是一个对象。你可以试一下就明白怎么回事了。
 
为什么不考虑考虑先做建模设计;
ROSE的Delphi Link 或者 ModelMaker都可以实现代码;
在系统分析里,采购单应该是一个对象,
属性有:ID、订单编码、订单日期、订单类型、供应商、
行号、存货编码、主计量单位、数量、税码、税率、原币无税单价、原币无税金额、原币价税合计、
订单状态、制单人、修改人、关闭人等;
方法有:增加、修改、删除、保存 、刷新、取消、审核、询价、结算等;
在Delphi的 COM+组件里封装对此对象的所以操作;
记住,任何数据处理都是围绕此对象的,所以先要有个较高的角度去看它,也就是所谓的面向对象分析;
之后,代码实现就水到渠成了;
希望对你和其它网友有所帮助;
 
感谢以上各位朋友的回答
在设计一个系统的时候,我们都会把相似的属性以及方法提出来,成为一个抽象类,就是
不同的单据但是可能会有相同的方法,比如说,都会有增加,审核,删除等功能,这些功
能在使用DELPHI标准的类的时候是很容易做成抽象(ABSTRACT)类,但是,在做COM+组件
的时候,我需要把接口(INTERFACE)提出,并且把它的实现也提出,来做抽象的话,是
应该如何去做?
请继续讨论,谢谢。
 
to:obenben
精妙!好!
to:吗啡
一般在COM+对象都按业务逻辑和功能组织设计。为什么不在类的基础上做好抽象等
代码设计好,再通过COM+接口方式提供出来就好了吗
 
我现在也困惑,
比如市面上也有类式软件,即使是单机版,也将相关操作封装到类中,在多个FORM中调用同一个
方法对其增加、删除、修改等?
请问怎么实现的?
 
to: jabing
可不可以详细说明一下你的思路?
如果单独提出抽象类,然后再以接口暴露会碰到哪些问题?
Thanks.
 
各位,请继续该问题的讨论
 
我也想这么写。
哪有什么demo看看呢?
 

Similar threads

回复
0
查看
888
不得闲
D
回复
0
查看
793
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部