- 浏览: 117830 次
- 来自: ...
文章分类
最新评论
Nucleus.MockAOP.Net简介
一、功能
-
基于配置文件,动态载入Aspects
-
对不同的类,指定不同的Aspects (基于正则表达式或者继承关系)
-
对类的不同方法,指定不同的Aspects (基于正则表达式)
-
指定Aspects的相对执行顺序
-
提供了一种ChainOfResponsbility模式的RealProxy实现,并提供了该RealProxy所需的Aspect的框架,及三个示例Aspect,分别用来计算执行时间、打印输入参数和返回值、和捕捉所有异常
二、限制
-
未找到好方法将Aspect变为无状态,导致每new一个正常对象,都会附带若干Aspect对象,性能受影响
-
未找到好方法最灵活的配置类、方法与Aspects的关联,现在配置信息散落在各处,加大了对象之间的耦合,加重了Aspect对象的负担,如现在每个Aspect对象都要判断当前被调用的原始方法是否匹配在配置文件中的配置,若匹配才切入,否则不予理睬
-
尚未实现RealProxy的动态配置(即不同的代理策略)
三、使用
-
将希望被切入Aspect的类(即受AOP管理的类)从Nucleus.MockAOP.AspectManagedObject派生,则该类及其子类都将受AOP管理;如果某个个别子类希望脱离管理,则声明时将AspectManaged属性置为false即可
Nucleus.MockAOP.AspectManagedObject定义 |
namespace Nucleus.MockAOP { [AspectManaged] public class AspectManagedObject : ContextBoundObject { } } |
希望受AOP管理的类定义 |
public class SomeBusinessClass : AspectManagedObject { public string SomeProperty { get{return "pone";} } } |
父类受AOP管理,某个子类希望脱离AOP管理 |
[AspectManaged(false)] public class SomeFreeClass : BusinessClass { } |
-
IAspect接口
IAspect定义 |
namespace Nucleus.MockAOP { public interface IAspect { IMethodReturnMessage SyncExecuteMethod(IMethodCallMessage msg); IConstructionReturnMessage SyncExecuteConstructor(IConstructionCallMessage msg); } } |
定义新的Aspect |
public class TerminatorAspect : IAspect { #region IAspect 成员 public IMethodReturnMessage SyncExecuteMethod(IMethodCallMessage msg) { return xxx; } public IConstructionReturnMessage SyncExecuteConstructor(IConstructionCallMessage msg) { return xxx; } #endregion } |
定义与ChainOfResponsbility模式的RealProxy实现合作的Aspect |
public class ExceptionAspect : BaseChainNodeAspect { protected override IMethodReturnMessage xxxxxx(IMethodCallMessage msg) { return xxx; } } |
-
在配置文件中为类和方法指定Aspects和Aspects的相对执行顺序;使用正则表达式(type_name_regex)或者继承关系(instance_of),当在同一个type_name_pattern中同时使用时,以type_name_regex为准
四、下载交流
-
暂时放在了xpdl_parser的网站中:Nucleus.MockAOP.Net
-
离完善还差很远,希望得到赐教
五、参考资料
发表评论
-
The Object Primer
2004-12-11 11:21 5861,书名 被翻译成“ ... -
错误处理规范
2004-12-11 16:47 756错误处理规范 〇、概念澄清 概念 解释 错误 ... -
Java,误解为何如此之深
2005-08-24 13:50 593前几天被电话面试,问J ... -
Java:画蛇添足的编码规范
2005-09-02 13:13 607前几天公司培训编码规范: 第n条: ... -
synchronized : 规则, 推论与实践
2007-07-23 22:32 46414.3.Synchronization. Rule ... -
交互设计: 股市帮凶
2008-05-04 21:30 642同事 Y 在线操作股票时, 把"买入"点成 ... -
交互设计: 火车上的厕所
2008-05-26 17:17 606有人在动车组的厕所前等了很久, 直到乘务员路过说厕所是被锁住了 ... -
设计原则与模式: 案例介绍--CppUnit
2008-06-01 20:15 611设计原则与模式: 案例介绍--CppUnit CppUnit ... -
工作流:形参,实参,相关数据
2004-12-11 11:40 671关于形参,实参,相关数据 一、形参(FormalParame ... -
工作流:第一次发版,过程总结
2004-12-11 11:42 709交流 即时讨论:小组成员咫尺之遥,有问题立即提出并解决 ... -
工作流:第一次发版,设计总结
2004-12-11 11:43 610整体 面向接口:消息系统,持久系统等,其实现都是可替换 ... -
Beyond Workflow : An Introduction to Vitria BusinessWare
2005-09-26 10:13 803一、简介 Busines ... -
Vitria BusinessWare: 存储与访问安全
2006-03-26 15:45 746事实上,BusinessWare使用LDAP做为存储机制和 ... -
Vitria BusinessWare: 平台与软件总线
2006-04-01 12:59 838经过一段时间的使用 ... -
Vitria BusinessWare: Web Services
2006-04-01 14:30 739BusinessWare的Web Services ... -
Web Services:自洽,编码,交换模型
2006-04-01 16:02 6731, 自洽 以前曾经写过: 目前WebServi ... -
Web Services:WSDL 1.1 规范中的几个错误
2006-04-01 16:40 719读完了WSDL 1.1的规范,令人惊讶的是发现似乎例子中有几个 ... -
C++/CLI:被忽视的集成技术
2006-05-17 20:02 754十几行代码,就使一个重要的旧系统组件,完全融入了基于.Ne ... -
AJP/JK:异构Web平台的集成技术
2006-05-25 21:44 707Tomcat Connector 可以将Tomcat ... -
Vitria BusinessWare: 事件与端口
2006-05-27 17:24 656Event BusinessWare是一个事件驱动的系统 ...
相关推荐
《Nucleus操作系统详解》 在IT领域,嵌入式系统是不可或缺的一部分,而Nucleus操作系统正是其中的重要角色。Nucleus是一款实时操作系统(RTOS),由美国Green Hills Software公司开发,广泛应用于医疗设备、工业...
4. 名词词汇: notion(概念)、novel(小说)、nucleus(原子核)、number(数字)、nutrition(营养),这些词汇可以帮助学习者描述抽象概念和具体事物。 5. 形容词汇: notorious(臭名昭著的)、numerous(众多...
标题 "Nucleus MNT 测试版本" 涉及的是一个特定的软件或系统组件的测试阶段,其中“Nucleus”很可能是指一个嵌入式操作系统,而“MNT”可能是其模块或特定功能的缩写。这个测试版本是为了在实际部署前验证和优化...
《Nucleus模拟器:在Windows环境下体验嵌入式操作系统的魅力》 Nucleus模拟器,是一款专为Windows用户设计的工具,旨在提供一种在个人计算机上模拟Nucleus Plus多任务操作系统的可能性,无需实际的嵌入式硬件环境。...
《Python库nucleus-api-3.1.13详解》 在Python的世界里,库是开发者们不可或缺的工具,它们极大地丰富了Python的功能,提高了开发效率。本文将深入探讨"nucleus-api-3.1.13"这一Python库,解析其核心功能、应用场景...
《前端项目:qoopido.nucleus - 构建高效模块化应用的基石》 在当前的Web开发领域,前端框架和库的选择至关重要,它们能够极大地提升开发效率和代码质量。今天我们要关注的是一个名为“qoopido.nucleus”的前端项目...
"MTK Nucleus.rar" 是一个压缩包文件,其中包含了MTK系统内核的相关源代码,这对于想要深入理解手机底层开发的工程师来说是非常宝贵的资源。 MTK Nucleus,通常被称为Nucleus Plus,是MTK为他们的芯片平台设计的一...
MTK 芯片家族是基础 Nucleus OS 的嵌入式操作系统,同样的 MTK 平台的手机会有不同的功能、速度和软件支持,这一切都是因为芯片组的原因。可以用 WM 系统来对比,WM 相当于 MTK,经常刷 ROM 的都应该知道 WMROM 的...
2. Nucleus:Nucleus是一种嵌入式实时操作系统(RTOS),适用于各种微控制器和处理器,为开发多任务和时间关键型应用提供可靠的基础。 3. XRAY®:这款工具是用于芯片制造前和制造后的软件调试工具,帮助开发者在生产...
《Nucleus:一款高效的开源嵌入式操作系统详解》 Nucleus,作为一个历史悠久且备受推崇的开源操作系统,尤其在嵌入式领域中占据着重要地位。它以其高效性、可定制性和广泛的硬件支持,成为了许多开发者的首选。本文...
《Nucleus操作系统详解》 Nucleus是一款嵌入式实时操作系统(RTOS),因其轻量级、高效的特点,被广泛应用于各种嵌入式系统中。本文将深入剖析Nucleus的操作系统开发流程,并探讨其核心功能,如任务管理、队列、...
《Nucleus实时操作系统在S3C2410平台上的移植与应用》 Nucleus是一款广泛应用的嵌入式实时操作系统(RTOS),以其高效、可靠和小巧的特性深受业界欢迎。本文将深入探讨如何将Nucleus PLUS操作系统移植到S3C2410...
《Nucleus PLUS中文参考手册》是一份详尽的指南,专为那些希望深入了解和运用Nucleus PLUS实时操作系统(RTOS)的专业人士设计。Nucleus PLUS是一款高性能、可定制的RTOS,旨在满足嵌入式系统开发中的实时需求。这份...
在这个"caozuoxitong.rar_nucleus_存储管理_进程 调度_进程 调度 管理_进程调度"项目中,我们关注的是操作系统中的两个关键概念:存储管理和进程调度。 首先,我们要理解存储管理。在计算机系统中,存储管理的主要...
### Nucleus WebBrowse知识点详解 #### 一、产品概述 **Nucleus WebBrowse**是一款专门为嵌入式系统设计的浏览器应用。该浏览器利用了Nucleus PLUS、Nucleus NET以及Nucleus GRAFIX与Windowing Toolkit的组合来...
2410_code.rar content.txt MCF5307_Code.rar mmi中文教程 MMI函数手册.pdf mtk 俄罗斯方块移植.doc mtk.doc MTK_Device Driver_Training.pdf MTK_MMI源码.rar MTK_Study ...NUCLEUS.ppt Nucleusdemo.pdf
在EDGE source中,我们可以找到Nucleus对文件系统的支持,例如FAT32文件系统的驱动,这在嵌入式设备需要存储和读取数据时非常有用。 7. **网络堆栈**:对于连接到网络的嵌入式设备,网络堆栈如TCP/IP是必需的。...
3. SUSAN算法:SUSAN(Smallest Univalue Segment Assimilating Nucleus)算法是一种用于图像处理的特征提取方法,尤其在边缘检测和角点检测方面具有显著的应用。SUSAN算法通过计算图像中每个像素点与邻域内的相似性...
软件部分,系统采用嵌入式操作系统Nucleus Plus作为开发平台,实现了高速的数据采集、传输、处理和控制功能。Nucleus Plus是一个实时操作系统,适合资源有限的嵌入式设备,能够提供高效的性能和稳定的服务。 在实际...