这个设计原则,你认同吗?

发布于 2022-06-04 07:46

前言

我们都知道依赖注入的方式常见的主要有三种

  1. 构造函数注入
  2. 属性注入
  3. 接口注入

在大名鼎鼎的Spring框架中大量使用属性注入的方式,属性注入的方式写起来那是真的爽;而在Asp.NetCore中则不支持属性注入,如果不使用第三方库,我们就只能在构造函数上写上一堆参数,比较麻烦,有些人是非常讨厌这种注入方式,选择使用第三方IOC框架。

思考一个问题

Asp.Net Core框架哪哪都牛逼,可偏偏不支持很多人崇尚的属性注入呢?如果你还在期待什么时候支持这一特性,可能会让你失望了。但也不排除社区呼声很高的情况下支持这个特性。但这属性注入它不是推荐的方式。

显式依赖关系

方法和类应显式要求正常工作所需的任何协作对象。我将此称为显式依赖关系原则。通过类构造函数,类可以标识其实现有效状态和正常工作所需的内容。如果定义的类可供构造和调用,但仅在具备特定全局组件或基础结构组件时正常工作,则这些类对其客户端而言就不诚实。构造函数协定将告知客户端,它只需要指定的内容(如果类只使用无参数构造函数,则可能不需要任何内容),但随后在运行时,结果发现对象确实需要某些其他内容。

若遵循显式依赖关系原则,类和方法就会诚实地告知客户端其需要哪些内容才能工作。遵循此原则可以让代码更好地自我记录,并让代码协定更有利于用户,因为用户相信只要他们以方法或构造函数参数的形式提供所需的内容,他们使用的对象在运行时就能正常工作。

今天是端午佳节,按惯例给大家备下了好礼,奖品分发中,快来参与吧!

粽情端午
朝/夕/这///


玉粽袭香千舸竞,艾叶黄酒可驱邪。长假在即,朝夕秉承逢节必送的原则,本次还是给大家安排了几本经典的专业书籍。还可瓜分马克杯和现金红包。所有人,都不要错过哦!



精选5本好书免费送


1《CLR via C#》(第4版)

你必须掌握的EntityFramework6.x与Core》

3 《程序员面试手册》

4 《Redis设计与实现》

5 《C#并发编程经典实例》


参与方式:

奖品有限,先到先得!

朝夕NET社区 后台回复 5151

即可参与书籍瓜分,还可免费领取现金红包和C#语法杯。


活动详情如下~

*本活动最终解释权归武汉朝夕教育科技有限公司所有



参与方式:

奖品有限,先到先得!本 朝夕NET社区 后台回复 0603

即可参与书籍瓜分,还可免费领取现金红包和C#语法杯。


本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。

相关素材