
AOP
蓝色水
一个在海边拾贝壳的大男孩
2002年毕业于上海市交通大学上中路校区,曾参与微软ALL-IN-ONE-CODE FRAMEWORK项目并对WPF,C++,C#,Winform的MSDN论坛支持多年,专注于net的技术体系十多年,对DDD领域设计net的部署实施有独到见解和经验,并对JAVA的架构体系的数据持久化,AOP,分布式事务,单点登录,多业态权限设计,分布式日志系统有实际项目运用案例,致力于传统行业的HR,OA,费控,业绩,移动平台化整合,ERP改造以及云部署。
展开
-
AOP技术基础
1、引言2、AOP技术基础3、Java平台AOP技术研究4、.Net平台AOP技术研究2.1 AOP技术起源AOP技术的诞生并不算晚,早在1990年开始,来自Xerox Palo Alto Research Lab(即PARC)的研究人员就对面向对象思想的局限性进行了分析。他们研究出了一种新的编程思想,借助这一思想或许可以通过减少代码重复模块从而帮助开发人员转载 2015-09-18 13:11:55 · 405 阅读 · 0 评论 -
.NET AOP (六)在编译阶段PostSharp
.NET AOP (六)在编译阶段PostSharp转载至:点击打开链接PostSharp简介PostSharp是一个用于在.NET平台上实现AOP的框架,是我比较常用的一个AOP框架,官方网站为http://www.sharpcrafters.com。目前最新版本为2.0,但是2.0的license不再免费,因此个人建议下载1.5版,同时下文都是基于Pos转载 2016-07-26 09:13:52 · 558 阅读 · 0 评论 -
.Net AOP (四)EnterpriseLibary 实现方法
.Net AOP (四)EnterpriseLibary 实现方法首先添加EnterpriseLibary的引用自定义CallHandler,这里定义两个CallHandler分别用于参数检查和日志记录。[html] view plain copy using Microsoft.Practices.Unity.Interce转载 2016-07-26 09:11:07 · 433 阅读 · 0 评论 -
.Net AOP(三)继承ContextBoundObject方式
Net AOP(三)继承ContextBoundObject方式AopAttribute [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] public class AopAttribute : ProxyAttribute 3 { 4 pr转载 2016-07-26 09:09:35 · 876 阅读 · 0 评论 -
.Net AOP(二)远程代理Remoting/RealProxy
远程代理 1、使用.Net Remoting/RealProxy采用TransparentProxy和RealProxy实现对象的代理,实现思路如下:Client -TransparentProxy - RealProxy - Target Object下面实现自定义的TransparentProxy和RealProxy[csharp] view转载 2016-07-26 09:09:05 · 1348 阅读 · 0 评论 -
.NET AOP(一)七种AOP实现方法
7Approaches for AOP in .NetAOP在 .NET中的七种实现方法Here are all the ways that I can think of to add AOPto your application. This mostly focus on the interception sideof things,because once you ha转载 2016-07-26 09:03:32 · 10328 阅读 · 1 评论 -
Spring.NET学习笔记15——AOP的配置(基础篇) Level 200
上篇我学习了Spring.NET的四种通知类型,AOP的实现方案比较复杂,是通过代码实现的。而Spring.NET框架给我们提供了配置的方式来实现AOP的功能。到目前为止,我们已经讨论过使用ProxyFactoryObject或其它类似的工厂对象显式创建AOP代理的方法。如果应用程序需要创建很多AOP代理,比如当需要代理某个服务层的所有对象时,这种方法就会使配置文件变的相当庞大。为简化配置过程,S转载 2016-07-13 09:39:03 · 615 阅读 · 0 评论 -
Spring.NET学习笔记14——AOP的通知类型(基础篇) Level 300
上篇我们学习了AOP的基本概念,我们回顾一下上篇提到的Advice(通知):所谓通知是指拦截到joinpoint(连接点)之后所要做的事情就是通知.通知分为前置通知,后置通知,异常通知,环绕通知。 Spring.NET的通知既可由某个类的所有对象共享,也可由该类型的单个实例独占。共享的通知称为基于类型(per-class)的通知,而独占的通知称为基于实例(per-instance)的通知转载 2016-07-13 09:38:20 · 299 阅读 · 0 评论 -
Spring.NET学习笔记14——AOP的通知类型(基础篇) Level 300
上篇我们简单的了解了AOP的应用场景,知道AOP编程的重要性。这篇我们先看一段代码,来开始今天的学习。 回顾与上篇类似的代码:SecurityService类的IsPass判断用户名为“admin”则有权限保存数据。OrderService为保存数据的类,实现IOrderService接口。Code 实现部分OrderService转载 2016-07-13 09:37:36 · 308 阅读 · 0 评论 -
Spring.NET学习笔记12——面向切面编程(基础篇) Level 300
AOP即面向切面编程(Aspect Oriented Programming的缩写),是OOP(面向对象编程)的一种延续形式。是通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术,它从一个不同于OOP的角度来看待程序的结构:OOP将应用程序分解为一系列表现为继承关系的对象;AOP 则把程序分解为一系列方面(aspects)或者关注点(concerns)。A转载 2016-07-13 09:27:47 · 504 阅读 · 0 评论 -
运用Unity实现AOP拦截器[结合异常记录实例]
本篇文章将通过Unity实现Aop异常记录功能;有关Unity依赖注入可以看前两篇文章:1: 运用Unity实现依赖注入[结合简单三层实例] 2: 运用Unity实现依赖注入[有参构造注入] 另早期写过一个利用Spring.net实现相同的功能: spring.net结合普通三层(实现IOC 及AOP中的异常记录功能)一:理论知识AOP(转载 2016-06-30 09:21:43 · 1988 阅读 · 0 评论 -
基于DDD的.NET开发框架 - ABP模块设计
一、摘要研究过orchard和nopcommerce的都应该知道模块概念,ABP的模块也和他们是一回事。实现原理也都一样:应用程序一般都是先定义模块接口,然后把模块编译的dll放到固定的目录中(ABP只能放到bin下),应用程序主程序通过加载那些实现了插件接口的dll来实现插件的使用。ABP 框架提供了创建和组装模块的基础,一个模块能够依赖于另一个模块。在通常情况 下,一个程序集就转载 2016-05-20 10:33:27 · 3924 阅读 · 0 评论 -
基于DDD的.NET开发框架 - ABP分层设计
一、为什么要分层分层架构是所有架构的鼻祖,分层的作用就是隔离,不过,我们有时候有个误解,就是把层和程序集对应起来,就比如简单三层架构中,在你的解决方案中,一般会有三个程序集项目:XXUI.dll、XXBLL.dll 和 XXDAL.dll,然后把这三个程序集看成一个层,这没什么不可以,但当项目复杂的时候,如果还按照这种方式的话,你的程序集中的文件夹会越来越多,程序集也会越来越大。当你的视野转载 2016-05-20 10:32:25 · 13590 阅读 · 1 评论 -
基于DDD的.NET开发框架 - ABP初探
一、基本概念ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。ABP是土耳其的一位架构师hikalkan开发的,现在又加入一个ismcagdas开发者。ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板。ABP的官转载 2016-05-20 10:30:52 · 13522 阅读 · 2 评论 -
领域驱动设计之领域模型
加一个导航,关于如何设计聚合的详细思考,见这篇文章。2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity in the Heart of Software (领域驱动设计),简称Evans DDD。领域驱动设计分为两个阶段:以一种领域专家、设计人员、开发人员都能理解的通用语言作为相互交流的工具,在交流的过程中发现领域转载 2015-09-18 14:20:46 · 7649 阅读 · 1 评论 -
利用订阅模式实现缓存更新
1. 引言很多Web项目,都需要和数据库打交道,典型的就是CRUD(读,写,更新,删除)操作。无论是哪种数据库,Asp.Net MVC 作为后端框架的项目,都有很多操作数据库的类库。最近在一个Web项目中就用到了EntityFramework来存取Sql Server。相信很多人都懂得,如何利用EntityFramework存取数据,所以这方面不做详细的介绍。 今天给大家介绍一种如何利用订转载 2016-06-22 13:45:26 · 570 阅读 · 0 评论