当前位置: 网学 > 编程文档 > 其他类别 > 正文

代码之美:利用构造方法实现模块的解耦

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/12

解耦,不仅只是对程序的扩展性而言,它可能还是你使用你的程序从一个层面向另一个层面提高的基础,请认真对待这个词语“解耦”。

我相信,它将会成为与“SOA”,“分布式”,“云计算”,“KV存储”,“高并发”一样的热门的东西,我确信这点。以后,我将会继续关注这个词语“解耦”。

今天主要是讲”代码之美“的一个话题,利用构造方法使你的对象进行一个可供注入的接口,这就是IOC里面注入的一种方式,即”构造器注入“。

  1. /// <summary>  
  2.      /// 统一实体  
  3.      /// </summary>  
  4.      public class EntityBase  
  5.      {  
  6.    
  7.      }  
  8.      /// <summary>  
  9.      /// 统一操作  
  10.      /// </summary>  
  11.      public  interface IRepository  
  12.      {  
  13.          void Insert(EntityBase entity);  
  14.      }  
  15.      /// <summary>  
  16.      /// 用户操作实现  
  17.      /// </summary>  
  18.      public class UserRepository : IRepository  
  19.      {  
  20.          #region IRepository 成员  
  21.    
  22.          public void Insert(EntityBase entity)  
  23.          {  
  24.              throw new NotImplementedException();  
  25.          }  
  26.    
  27.          #endregion  
  28.      } 

而在构造方法去使用它的时候,一般代码是这样:

  1. public abstract class IndexFileBase  
  2.      {  
  3.          IRepository _iRepository;  
  4.          public IndexFileBase(IRepository iRepository)  
  5.          {  
  6.              _iRepository = iRepository;  
  7.          }  
  8.    
  9.          /// <summary>  
  10.          /// 根据实现IRepository接口的不同,Insert逻辑也是多样的  
  11.          /// </summary>  
  12.          /// <param name="entity"></param>  
  13.          public void Insert(EntityBase entity)  
  14.          {  
  15.              this._iRepository.Insert(entity);  
  16.          } 

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号