Delphi

本类阅读TOP10

·游戏外挂设计技术探讨①
·如何使用Delphi设计强大的服务器程序
·分布式网络考试系统原型分析及实现
·用DLL方式封装MDI子窗体。
·使用HOOK随心监视Windows
·Delphi 水晶报表打包解决
·url编码与解码工具附代码
·工人线程中关闭窗体的实现
·hdsi2.0 sql注入部分抓包分析语句
·Borland Delphi 2005 下载

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
用Delphi实现动态代理(2):设计说明

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

用Delphi实现动态代理(2):设计说明

[Mental Studio]猛禽[Blog]

在上篇《用Delphi实现动态代理(1):概述》中,对动态代理作了一个概要的说明,比如为什么需要这样的动态代理,它有什么用等。本篇将对我实现的这个动态代理的设计思路作一下介绍。
 

一、设计目标

如上篇中这幅动态代理结构图所示:

大致的设计目标有以下几项:

  • TMDynamicProxy可以将任意接口代理到一个通用接口IMInvocationHandler上;
  • IMInvocationHandler的实现不能太复杂,即TMMethodInvocation的定义要尽量简单;
  • IMInvocationHandler要能够实现Remoting,即TMMethodInvocation必须可序列化;
  • 需要一个IMMethodInterceptor接口,以便于实现AOP所需要的各种拦截器;
  • 需要一个TMInterfaceInvoker来把IMInvocationHandler转为正确的对象调用。

从上面列出的目标可以看出,我的目标是要实现一套全新的多层框架,并且几乎是对JAVA世界里最流行的轻量容器的模仿。接下来就说明一下原因所在。
 

二、原因

我之所以对这个动态代理如此热情,源自于对DELPHI下多层技术的愤怒。想想从前在DELPHI开发多层应用有些什么?MIDAS?不可否认,MIDAS是一项很优秀的开发技术,可以在很大程度上简化多层应用的开发。但是正因为它的简单化,所以它跟RAD一样,容易让人在简单化中迷失,而看不到问题的本质--对于这种事情,我喜欢引用老郑的一个经典比喻:就像比基尼泳装,它展示了令人感兴趣的部分,但却隐藏了关键的部分


相关文章

相关软件




月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

月光软件站·版权所有