关于Ioc & Unify 2.0介绍

面向对象编程
Ioc 简介
Ioc 可以做什么
Ioc 框架 - Unify 2.0
示例

资源



面向对象的设计原则

 针对接口编程,而不是针对实现编程
    客户无需知道所使用对象的特定类型,只需要知道对象拥有客户所期望的接口。


 优先使用对象组合,而不是类继承
   继承在某种程度上破坏了封装性,子类父类耦合度高;而对象组合则只要求被组合的对象具有良好定义的接口,耦合度低。


 封装变化点
   使用封装来创建对象之间的分界层,让设计者可以在分界层的一侧进行修改,而不会对另一侧产生不良的影响,从而实现层次间的松耦合。


关于Ioc & Unify 2.0介绍_第1张图片

创建子类方法之二 –  简单工厂

static class  BirdFactory
{
    static IAngryBird Create(birdType)
    {
if(birdType == “Sparrow”)
    return new Sparrow();


             if(birdType == “Crow”)
    return new Crow();         

             else
                   return null;
     }
}

关于Ioc & Unify 2.0介绍_第2张图片

Ioc 简介

Inversion of Control,即反转模式


基于OO设计原则的The Hollywood Principle:Don‘t call us, we’ll call you(别找我,我会来找你的)


后被Martin Fowler改名为 Dependency Injection 依赖注射(DI),也就是将类之间的关系通过第三方进行注射,不需要类自己去解决调用关系。由此产生Ioc Container框架


为何使用Ioc

避免直接new具体实现。可以保证框架整个项目结构不变,很方便的改变具体实现
提高模块的可测试性
模块之间实现高内聚低耦合,减少后期维护成本
更好的可扩展性和可插入性


Ioc框架 - Unify 2.0

微软开发的Ioc 框架,集成到Enterprise Library中
下载地址 http://unity.codeplex.com/


参考资源:

http://martinfowler.com/articles/injection.html
http://dotnetslackers.com/articles/net/A-First-Look-at-Unity-2-0.aspx
http://msdn.microsoft.com/en-us/library/ff663144.aspx


示例代码可以到下面地址下载:

 http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6932






你可能感兴趣的:(关于Ioc & Unify 2.0介绍)