解耦,不仅只是对程序的扩展性而言,它可能还是你使用你的程序从一个层面向另一个层面提高的基础,请认真对待这个词语“解耦”。
我相信,它将会成为与“SOA”,“分布式”,“云计算”,“KV存储”,“高并发”一样的热门的东西,我确信这点。以后,我将会继续关注这个词语“解耦”。
今天主要是讲”代码之美“的一个话题,利用构造方法使你的对象进行一个可供注入的接口,这就是IOC里面注入的一种方式,即”构造器注入“。
- /// <summary>
- /// 统一实体
- /// </summary>
- public class EntityBase
- {
- }
- /// <summary>
- /// 统一操作
- /// </summary>
- public interface IRepository
- {
- void Insert(EntityBase entity);
- }
- /// <summary>
- /// 用户操作实现
- /// </summary>
- public class UserRepository : IRepository
- {
- #region IRepository 成员
- public void Insert(EntityBase entity)
- {
- throw new NotImplementedException();
- }
- #endregion
- }
而在构造方法去使用它的时候,一般代码是这样:
- public abstract class IndexFileBase
- {
- IRepository _iRepository;
- public IndexFileBase(IRepository iRepository)
- {
- _iRepository = iRepository;
- }
- /// <summary>
- /// 根据实现IRepository接口的不同,Insert逻辑也是多样的
- /// </summary>
- /// <param name="entity"></param>
- public void Insert(EntityBase entity)
- {
- this._iRepository.Insert(entity);
- }
上