关于向上兼容开发及可自由组合模块的实现的探讨

tianlon 2005-03-27 11:17:52
几年前发过一个类似的贴子,颇有收获,故地重游,特备1000分,不

求能够彻底实现,但希望在探讨的过程中,能产生一些有用的东些,

就达到目的了。

比如现有系统有5个模块,A,B,C,D,E
现在产生第6个模块F,则按一般的处理方式F内部会针对A,B,C,D,E都有

相应的代码,但也仅是单向的,很多情况下,不改造A,B,C,D,E是无法

实现功能的,就这个问题,如何作可以使A,B,C,D,E自动适应F。

第二个问题:自由组合模块的实现,其实和第一个问题有很多类似的

东西,具体而言:
如系统有10个模块A,B,C,D,E,F,G,H,I,J 如何使这些模块可以自由组

合,当然也是在可行的前提下,比如A是基础模块,不可缺的等等,一

般的做法是有一张当前配置表和一张模块约束表,根据约束表,和客

户的配置形成配置表,这都没问题,可是实现起来,比处在程序里面

考虑当前模块和其他模块组合的可能性,对于模块数很少的软件没问

题,但对于大型软件(数十个模块)就会变得很繁琐(可能是一个不小

的组合数量级),有简单的方法吗?而且这种处理方式,如果再加新模

块(问题1了),也不能使其能很好的和新模块融合。



对于模块自动感知(对新加入模块的发现),可以考虑采用广播或责

任链实现,但是处理还没想好
...全文
274 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
PPower 2005-09-09
我們現在有23個模塊,只分了2層,如果能分3層更好。
回复
PPower 2005-09-09
我是這樣做的:
1、分層:程序底層,服務層,
2、分塊:應用模塊,全局共用模塊, 局部共用模塊
3、在底層提供應用模塊接口,實現模塊之間的代碼級隔離與 提供相互間通信的能力。

然後對每一個程序單元,必須確認是屬於哪一層,哪個模塊。如果不對就做調整。

目前自我感覺不錯,基本做到了不怕程序長多大,越大越好做。越大能共用的東西就越多。
關鍵是第3 點,要在底層與共用模塊上實現模塊間的隔離與通信方式。
如果 : A, B , C 是層1 , D 是全局共用模塊
X1,X2是應用模塊,則X1與X2這間是代碼級隔離的,即X1中不能"include"X2項目中的任何一個單元。
X1要調用X2的單元應該這樣做:X1告訴底層A:我要用接口Ax調用功能Y,然後事情交給底層調度單元去做。

對象編程的好處,我不需要知道對象的具體信息,也不需要知道在系統中有沒有裝載這個對象,我知道在系統規劃中對象A是負責實現某類功能的,現我需要,那麼我就發消息去讓底層生成一個對象A,然後再發消息給對象A完成任務,整修事情就是這樣子的了。
然後人員ABC負責對象A的開發,人員BCD負責對象B的開發,代碼級各不相干,通過上一層實現相互調用與通信。

隨便寫寫,有些亂,請勿介意。
回复
tianlon 2005-05-11
加了你
回复
mzdot 2005-05-11
我对这个问题也比较有兴趣,我们可以讨论,QQ:20411225
回复
superhasty 2005-05-02
帮你置顶一下
回复
shire 2005-04-22
hehe,hehe,mark
回复
tianlon 2005-04-06
to jackyli1979() :
请不要在此处做广告!!
回复
jackyli1979 2005-04-06
在线编辑WORD,EXCEL等OFFICE文档控件的源代码
目前市场上在销的OFFICE文档控件都是从VC++开发出来,然后编译成OCX文件,可以嵌入浏览器中执行。
现在我们将为您提供此VC源代码,这样你们就可以随意更改源代码,编译成OCX文件,也即OFFICE控件。这样你也可以有权销售给任何客户,并对控件进行自主升级。相当于自已就是开发者的角色,非常适合软件开发公司或个人购买,因为贵司拥有了此代码后,可以任意销售给自已的客户了,其中的商业价值不可估量,欢迎任何单位或个人访问 http://www.superoa.net,请您联系我们。
支持开发语言:ASP,PHP,JSP,VB,VC,C#,JAVA等,标准COM接口
回复
tianlon 2005-03-29
没人感兴趣?
回复
相关推荐
发帖
其他
创建于2007-08-27

215

社区成员

企业开发 其他
申请成为版主
帖子事件
创建了帖子
2005-03-27 11:17
社区公告
暂无公告