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

本文探讨了解耦在程序设计中的重要性,通过构造方法实现对象注入,展示如何提高代码的通用性和灵活性。重点介绍了如何在不同层面上使用解耦原则,以及构造器注入在实现这一目标中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

我相信,它将会成为与“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         }

上面的代码,很好的实现了new对象的松耦合,这使得它具有通用的特性,一般我们在设计通用功能时,经理使用这样方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值