读书人

IoC方式

发布时间: 2013-08-01 15:23:18 作者: rapoo

IoC模式

1.依赖

依赖就是有联系,有地方使用到它就是有依赖它,一个系统不可能完全避免依赖。如果你的一个类或者模块在项目中没有用到它,恭喜你,可以从项目中剔除它或者排除它了,因为没有一个地方会依赖它。下面看一个简单的示例:

IoC方式
    /// <summary>    /// 用户播放媒体文件    /// </summary>    public class OperationMain    {        public void PlayMedia()        {            MediaFile _mtype = new MediaFile();            Player _player = new Player();            _player.Play(_mtype);        }    }    /// <summary>    /// 播放器    /// </summary>    public class Player    {        public void Play(MediaFile file)        {            Console.WriteLine(file.FilePath);        }    }    /// <summary>    /// 媒体文件    /// </summary>    public class MediaFile    {        public string FilePath { get; set; }    }
IoC方式

上面是一个用户用播放器播放文件简单示例,用户操作是OperationMain类中的PlayMedia方法,打开一个播放器,选择一个文件来播放。先看看他们之间的依赖关系,可以简单找到有3个依赖

  1. Player依赖MediaFile
  2. OperationMain依赖Player
  3. OperationMain依赖MediaFile

2.依赖倒置

需求增加了,要用不同的播放器,播放不同的文件,我们要抽象出来,减少耦合。

耦合关系就是依赖关系,如果依赖关系相当繁杂,牵一发而动全身,很难维护;依赖关系越少,耦合关系就越低,系统就越稳定,所以我们要减少依赖。

幸亏Robert Martin大师提出了面向对象设计原则----依赖倒置原则:   

读书人网 >编程

热点推荐