IOC/AOP随笔目录

  1. 云栖社区>
  2. 博客列表>
  3. 正文

IOC/AOP随笔目录

zting科技 2017-01-10 10:30:00 浏览214 评论0

摘要:    在当前软件开发OO设计中,面对软件需求的各种潜在变化,我们可能会采用领域驱动开发,把我们的各个业务逻辑分层次隔离解除耦合,这就出现了N层架构(这面值得是逻辑上的分层,当然我们的逻辑分层层次需要比物理架构层次多),这样将会使得我们的软件能够适应更多的需求变化。

   在当前软件开发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,如需转载请自行联系原作者

用云栖社区APP,舒服~

【云栖快讯】诚邀你用自己的技术能力来用心回答每一个问题,通过回答传承技术知识、经验、心得,问答专家期待你加入!  详情请点击

网友评论

zting科技
文章3734篇 | 关注14
关注
充分利用阿里云现有资源管理和服务体系,引入中间件成熟的整套分布式计算框架,以应用为中心,帮助... 查看详情
移动测试(Mobile Testing)是为广大企业客户和移动开发者提供真机测试服务的云平台... 查看详情
阿里云依据网站不同的发展阶段,提供更合适的架构方案,有效降低网站的开发运维难度和整体IT成本... 查看详情
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效... 查看详情
阿里云9.10会员日

阿里云9.10会员日