编程语言中如何利用构造方法实现模块的解耦,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
解耦,不仅只是对程序的扩展性而言,它可能还是你使用你的程序从一个层面向另一个层面提高的基础,请认真对待这个词语“解耦”。
我相信,它将会成为与“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); }
上面的代码,很好的实现了new对象的松耦合,这使得它具有通用的特性,一般我们在设计通用功能时,经理使用这样方式。
看完上述内容,你们掌握编程语言中如何利用构造方法实现模块的解耦的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。