公布我自己设计的实用工具 uCommand (通用命令调用机制) 源代码 ( 积分: 0 )

  • 主题发起人 主题发起人 z_cd
  • 开始时间 开始时间
Z

z_cd

Unregistered / Unconfirmed
GUEST, unregistred user!
我自己设计编写的实用工具,拿出来与大家共享,希望能对各位有用.

公共单元 uCommand (通用命令调用机制)
版本: 1.1 原创设计: Zcd 编码实现: Zcd
主要目的:
1.收集所有界面单元对业务逻辑实现单元的调用命令
2.使所有单元之间相互独立,窗体调用不再需要相互引用。
独立的单元文件,易于维护、分离,实现了代码层次的N层结构
重要概念:
这种机制的思想是把调用方、实现方之间的 命令调度层 独立出来(为了更好的关注业务
功能的实现), 形成一个CommandCenter的东西。
现在是用MIDAS技术实现了这个调度中心的远程调度功能, 如果有空可以用COM+,CORBA甚
至是Socket来实现具有远程调度功能的命令调度层。
使用方法:
见uCommand使用说明.txt
设计要点:
1.这种方法提供的单元之间相互调用机制,牺牲了调用效率,换来各单元之间的零耦合。
代码编写中应避免这种调用方式在循环算法中被使用。
2.调用方可以完全不理会如何实现,哪怕是没有实现,只要发出(抛出)命令就够了。这种
概念有点把调用和事件统一起来的意思。
无论在哪,只要向调度中心注册了指定命令的实现方法,就能被执行。(当然也可以动态
地更换实现方法)
3.这种机制提倡对命令操作的封装, 感觉可以很方便地实现用户操作日志、操作权限控
制等难点功能,但尚未设计实现。

下载地址: http://www.2ccc.com/article.asp?articleid=2097
(感谢盒子提供上传空间)
以前的讨论贴: http://www.delphibbs.com/delphibbs/dispq.asp?lid=2966116
有什么疑惑、建议, 尽管提问
 
我自己设计编写的实用工具,拿出来与大家共享,希望能对各位有用.

公共单元 uCommand (通用命令调用机制)
版本: 1.1 原创设计: Zcd 编码实现: Zcd
主要目的:
1.收集所有界面单元对业务逻辑实现单元的调用命令
2.使所有单元之间相互独立,窗体调用不再需要相互引用。
独立的单元文件,易于维护、分离,实现了代码层次的N层结构
重要概念:
这种机制的思想是把调用方、实现方之间的 命令调度层 独立出来(为了更好的关注业务
功能的实现), 形成一个CommandCenter的东西。
现在是用MIDAS技术实现了这个调度中心的远程调度功能, 如果有空可以用COM+,CORBA甚
至是Socket来实现具有远程调度功能的命令调度层。
使用方法:
见uCommand使用说明.txt
设计要点:
1.这种方法提供的单元之间相互调用机制,牺牲了调用效率,换来各单元之间的零耦合。
代码编写中应避免这种调用方式在循环算法中被使用。
2.调用方可以完全不理会如何实现,哪怕是没有实现,只要发出(抛出)命令就够了。这种
概念有点把调用和事件统一起来的意思。
无论在哪,只要向调度中心注册了指定命令的实现方法,就能被执行。(当然也可以动态
地更换实现方法)
3.这种机制提倡对命令操作的封装, 感觉可以很方便地实现用户操作日志、操作权限控
制等难点功能,但尚未设计实现。

下载地址: http://www.2ccc.com/article.asp?articleid=2097
(感谢盒子提供上传空间)
以前的讨论贴: http://www.delphibbs.com/delphibbs/dispq.asp?lid=2966116
有什么疑惑、建议, 尽管提问
 
呵呵,好,只可惜推出晚了点,不然我就可以偷懒不自己写了,照抄了.
 
我想我在这段时间最大的收获就是 抽象出独立的命令调用层 的概念。这种思想给我自己很大的联想空间。
 
这个思想不错,我关注,看看研究下再说
 
业务逻辑和界面分离?
 
虽然我没有仔细看,但你的想法是过人的!
 
感觉用dll也能实现的说....
 
我看不懂啊,能说得更明白点吗?
 
先DW, 然後再仔細研究下
 
如何下呀,我怎么没有找到下载的地方?
 
我也没有下到,谁有给我发一下
wlei9802@163.com
 
有人用了吗?给我提提改进意见呀,谢谢了
 
我原来也设计了类似的东西.
全插件系统框架.除了模块管理器全是插件模块.全部插件都是通过统一的命令驱动.命令有两个参数.
调用函数(模块,功能,参数1,参数2)
后来想想看.和Windows的消息机制其实道理一样的.
SendMessage(句柄,消息,参数1,参数2)
呵呵
 
to wr960204:
既然你都做到那一步了,为什么不继续扩展成任意个参数、任意个返回,为什么不继续发展
成跨机器空间的远程调用呢。我觉得在一种成熟机制的基础上扩大想象空间,收获会很大。
 
进程内或许有意义,如果跨进程/跨机器.为什么不使用COM/DCOM,个人手工造的轮子多半只能是艺术品
 
我觉得不用COM/DCOM,是因为COM/DCOM固定了通讯协议,不能穿透防火墙,不能变化通讯协议,无法从传输层面控制压缩、加密
基于这个原因,我从一开始就放弃了使用COM/DCOM
您说呢?
 
占個位聽課
 
占個位聽課
 
后退
顶部