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多线程)

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


本文转自破狼博客园博客,原文链接:http://www.cnblogs.com/whitewolf/archive/2012/02/12/2348521.html,如需转载请自行联系原作者

目录
相关文章
|
Java Spring 容器
Spring IOC、AOP与事务管理底层原理及源码解析
【10月更文挑战第1天】Spring框架以其强大的控制反转(IOC)和面向切面编程(AOP)功能,成为Java企业级开发中的首选框架。本文将深入探讨Spring IOC和AOP的底层原理,并通过源码解析来揭示其实现机制。同时,我们还将探讨Spring事务管理的核心原理,并给出相应的源码示例。
597 9
|
安全 Java 测试技术
Java开发必读,谈谈对Spring IOC与AOP的理解
Spring的IOC和AOP机制通过依赖注入和横切关注点的分离,大大提高了代码的模块化和可维护性。IOC使得对象的创建和管理变得灵活可控,降低了对象之间的耦合度;AOP则通过动态代理机制实现了横切关注点的集中管理,减少了重复代码。理解和掌握这两个核心概念,是高效使用Spring框架的关键。希望本文对你深入理解Spring的IOC和AOP有所帮助。
816 0
|
安全 Java 开发者
Java 新手入门:Spring 两大利器IoC 和 AOP,小白也能轻松理解!
Java 新手入门:Spring 两大利器IoC 和 AOP,小白也能轻松理解!
360 1
|
XML Java 数据格式
Spring的IOC和AOP
Spring的IOC和AOP
278 0
|
容器
springboot-自定义注解拦截ip aop和ioc
springboot-自定义注解拦截ip aop和ioc
|
XML Java 开发者
“掌握Spring IoC和AOP:30道面试必备问题解析!“
“掌握Spring IoC和AOP:30道面试必备问题解析!“
770 0
|
安全 Java 开发者
在Spring框架中,IoC和AOP是如何实现的?
【4月更文挑战第30天】在Spring框架中,IoC和AOP是如何实现的?
412 0
|
9月前
|
XML 安全 Java
使用 Spring 的 @Aspect 和 @Pointcut 注解简化面向方面的编程 (AOP)
面向方面编程(AOP)通过分离横切关注点,如日志、安全和事务,提升代码模块化与可维护性。Spring 提供了对 AOP 的强大支持,核心注解 `@Aspect` 和 `@Pointcut` 使得定义切面与切入点变得简洁直观。`@Aspect` 标记切面类,集中处理通用逻辑;`@Pointcut` 则通过表达式定义通知的应用位置,提高代码可读性与复用性。二者结合,使开发者能清晰划分业务逻辑与辅助功能,简化维护并提升系统灵活性。Spring AOP 借助代理机制实现运行时织入,与 Spring 容器无缝集成,支持依赖注入与声明式配置,是构建清晰、高内聚应用的理想选择。
832 0
|
8月前
|
监控 Java Spring
AOP 切面编程
AOP(面向切面编程)通过动态代理在不修改源码的前提下,对方法进行增强。核心概念包括连接点、通知、切入点、切面和目标对象。常用于日志记录、权限校验、性能监控等场景,结合Spring AOP与@Aspect、@Pointcut等注解,实现灵活的横切逻辑管理。
1978 6
AOP 切面编程
|
8月前
|
XML Java 数据格式
《深入理解Spring》:AOP面向切面编程深度解析
Spring AOP通过代理模式实现面向切面编程,将日志、事务等横切关注点与业务逻辑分离。支持注解、XML和编程式配置,提供五种通知类型及丰富切点表达式,助力构建高内聚、低耦合的可维护系统。