我的IOC/AOP随笔目录

简介:

     在当前软件开发OO设计中,面对软件需求的各种潜在变化,我们可能会采用领域驱动开发,把我们的各个业务逻辑分层次隔离解除耦合,这就出现了N层架构(这面值得是逻辑上的分层,当然我们的逻辑分层层次需要比物理架构层次多),这样将会使得我们的软件能够适应更多的需求变化。关于领域驱动开发的实例网上都很多,不得不推荐的是微软开源实例项目的NLayerApp:http://microsoftnlayerapp.codeplex.com/

      然而在于我们的逻辑分层的每一层次之间的耦合度解耦也是一个常见的问题.这样在层次的变化中我们需要实现不变更服务层次,这是我们的设计必须依赖于不变接口(抽象)。对于分层的接口对象创建我们当前流程的解决方案是IOC框架,负责不变对象的创建组合,当下流行的IOC框架有:AutofacCastle WindsorUnitySpring.NETStructureMapNinject,当然这么多IOC框架供我们选择。我本人只了解 Castle WindsorUnity,更喜欢Unity这套微软自身的轻量级ioc框架。关于IOC框架的测试园友Leepy有测试各大主流.Net的IOC框架性能测试比较

      另外我还想说的是我们的业务处理中有很多共性,并非业务本身的,比如权限,日志,缓存等功能模块,如果我们每次都重复将是一个巨大的工作量和难以维护的成本。应运而生的AOP框架,就是一种从业务纵向切入,对目标实现权限,日志等。对于AOP的实现主流框架主要有透明代理和静态植入两大类。Castle和EL中的PIAB就是一种透明代理的实现方式,PostSharp则是编译时静态注入框架。其他框架还有SetPointNAopNKalore

      今天整理一下本博客汇总关于IOC,AOP的随笔,忘大家不辞吝啬多多指教,共同进步。

一:IOC目录:

  1. IOC应用篇:
    1. 利用Attribute简化Unity框架IOC注入
    2. AOP之PostSharp7-解决IOC 不能直接new问题,简化IOC开发和IOC对象LazyLoad
    3. WCF利用企业库Unity框架的IOC层次解耦

二:AOP目录:

  1. AOP静态植入原理:
    1. 浅谈.NET编译时注入(C#—>IL)
    2. 浅谈VS编译自定义编译任务—MSBuild Task(csproject)
    3. 编译时MSIL注入--实践Mono Cecil(1)
    4. MSBuild + MSILInect实现编译时AOP之预览
    5. MSBuild + MSILInect实现编译时AOP-改变前后对比
  2. PostSharp AOP:
    1. AOP之PostSharp初见-OnExceptionAspect
    2. AOP之PostSharp2-OnMethodBoundaryAspect
    3. AOP之PostSharp3-MethodInterceptionAspect
    4. AOP之PostSharp4-实现类INotifyPropertyChanged植入
    5. AOP之PostSharp5-LocationInterceptionAspect
    6. AOP之PostSharp6-EventInterceptionAspect(事件异步调用)
    7. AOP之PostSharp7-解决IOC 不能直接new问题,简化IOC开发和IOC对象LazyLoad
    8. PostSharp - Thread Dispatching(GUI多线程)

    本系列中的随笔还有继续,我会不断更新。忘大家不辞吝啬多多指教,共同进步。




 本文转自 破狼 51CTO博客,原文链接:http://blog.51cto.com/whitewolfblog/832616,如需转载请自行联系原作者

相关文章
|
4月前
|
安全 Java 测试技术
Java开发必读,谈谈对Spring IOC与AOP的理解
Spring的IOC和AOP机制通过依赖注入和横切关注点的分离,大大提高了代码的模块化和可维护性。IOC使得对象的创建和管理变得灵活可控,降低了对象之间的耦合度;AOP则通过动态代理机制实现了横切关注点的集中管理,减少了重复代码。理解和掌握这两个核心概念,是高效使用Spring框架的关键。希望本文对你深入理解Spring的IOC和AOP有所帮助。
83 0
|
5月前
|
Java Spring 容器
Spring IOC、AOP与事务管理底层原理及源码解析
【10月更文挑战第1天】Spring框架以其强大的控制反转(IOC)和面向切面编程(AOP)功能,成为Java企业级开发中的首选框架。本文将深入探讨Spring IOC和AOP的底层原理,并通过源码解析来揭示其实现机制。同时,我们还将探讨Spring事务管理的核心原理,并给出相应的源码示例。
197 9
|
5月前
|
XML Java 数据格式
Spring的IOC和AOP
Spring的IOC和AOP
91 0
|
7月前
|
安全 Java 开发者
Java 新手入门:Spring 两大利器IoC 和 AOP,小白也能轻松理解!
Java 新手入门:Spring 两大利器IoC 和 AOP,小白也能轻松理解!
90 1
|
8月前
|
容器
springboot-自定义注解拦截ip aop和ioc
springboot-自定义注解拦截ip aop和ioc
|
9月前
|
XML Java 开发者
“掌握Spring IoC和AOP:30道面试必备问题解析!“
“掌握Spring IoC和AOP:30道面试必备问题解析!“
211 0
|
10月前
|
安全 Java 开发者
在Spring框架中,IoC和AOP是如何实现的?
【4月更文挑战第30天】在Spring框架中,IoC和AOP是如何实现的?
125 0
|
6月前
Micronaut AOP与代理机制:实现应用功能增强,无需侵入式编程的秘诀
AOP(面向切面编程)能够帮助我们在不修改现有代码的前提下,为应用程序添加新的功能或行为。Micronaut框架中的AOP模块通过动态代理机制实现了这一目标。AOP将横切关注点(如日志记录、事务管理等)从业务逻辑中分离出来,提高模块化程度。在Micronaut中,带有特定注解的类会在启动时生成代理对象,在运行时拦截方法调用并执行额外逻辑。例如,可以通过创建切面类并在目标类上添加注解来记录方法调用信息,从而在不侵入原有代码的情况下增强应用功能,提高代码的可维护性和可扩展性。
126 1
|
4月前
|
安全 Java 编译器
什么是AOP面向切面编程?怎么简单理解?
本文介绍了面向切面编程(AOP)的基本概念和原理,解释了如何通过分离横切关注点(如日志、事务管理等)来增强代码的模块化和可维护性。AOP的核心概念包括切面、连接点、切入点、通知和织入。文章还提供了一个使用Spring AOP的简单示例,展示了如何定义和应用切面。
698 1
什么是AOP面向切面编程?怎么简单理解?
|
4月前
|
XML Java 开发者
论面向方面的编程技术及其应用(AOP)
【11月更文挑战第2天】随着软件系统的规模和复杂度不断增加,传统的面向过程编程和面向对象编程(OOP)在应对横切关注点(如日志记录、事务管理、安全性检查等)时显得力不从心。面向方面的编程(Aspect-Oriented Programming,简称AOP)作为一种新的编程范式,通过将横切关注点与业务逻辑分离,提高了代码的可维护性、可重用性和可读性。本文首先概述了AOP的基本概念和技术原理,然后结合一个实际项目,详细阐述了在项目实践中使用AOP技术开发的具体步骤,最后分析了使用AOP的原因、开发过程中存在的问题及所使用的技术带来的实际应用效果。
116 5

热门文章

最新文章