![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Dino Esposito
文章平均质量分 61
Dino Esposito 是以为微软.NET领域的伟大技术爱好者,他写的三本书都很有指导意义,尤其是《.NET企业家应用架构设计》。
是刘彦宏吖
1.我能做什么 2.我想要的 ---全新的选择 我能干什么?当你不能知道要做什么的时候?就把现在的事做好!
知识零碎、浅尝辄止,未成体系、温故知新、夯实基础、努力学习、积累量变、期待质变。
掌握人、技术、方法的不断协调与相互作用,才能事半功倍。悟以往之不谏,知来者之可追。
展开
-
.NET 中的依赖关系注入
.NET 中的依赖关系注入转载 2022-05-19 15:34:41 · 91 阅读 · 0 评论 -
C#基础与技巧——类与里氏替换 -有向边的UML应用——泛化、实现和关联的依赖思想
继承public class Person{};Public class student:Person{};person这个类叫父类(基类),student这个类叫子类(派生类)student继承了person类person类派生了student类类中的构造函数问题子类中的构造函数会自动的调用父类中无参的构造函数,所以如果父类中写了有参的构造函数,必须再单独写无参的构造函数。 (隐式调用)子类的构造函数会默认调用父类的无参构造函数 (显示调用)在子类的构造函数后加”:base(参原创 2022-05-19 15:30:50 · 157 阅读 · 0 评论 -
建议103:区分组合和继承的应用场合
建议103:区分组合和继承的应用场合继承所带来的多态性虽然是面向对象的一个重要特性,但这种特性不能在所有的场合中滥用。继承应该被当做设计架构的有用补充,而不是全部。组合不能用于多态,但组合使用的频率却要远远高于继承。继承UML图如下:从设计的角度来看,继承代表的是“Is a”,组合代表的是“Has a”。FileStream和MemoryStream都是(Is a)Stream,而对于线程Thread来说,它拥有(Has a)线程上下文Context和区域信息CultureInfo。这是最重要原创 2021-08-10 16:09:27 · 68 阅读 · 0 评论 -
区分接口和抽象类的应用场合
建议102:区分接口和抽象类的应用场合接口和抽象类有一些显而易见的区别: 1. 接口支持多继承,抽象类则不能。 2. 接口可以包含方法、属性、索引器、事件的签名,但不能有实现,抽象类则可以。 3. 接口在增加新方法后,所有的继承者都必须重构,否则编译不通过,而抽象类则不需要。这些区别导致两者的应用场景不同: 1. ==如果对象存在多个功能相近且关系紧密的版本,则使用抽象类==。 2. ==如果关系不紧密,但若干功能拥有共同的声明,则使用接口==。 3. ==抽象类适合于提供丰富功能的场原创 2021-08-10 15:36:00 · 91 阅读 · 0 评论 -
面向过程/对象/接口/方面编程的总结
面向过程/对象/接口/方面编程的总结对于这些概念的解释,网络上是有许多文章。但本文是纯手打的成果,完全用自己的语言来描述、综合、概括,绝非采集和转载。关于这些「面向」,网络上的介绍已经非常丰富。不过为了达到「一站式」的效果,这篇文章尝试用作者自己的语言概括,让读者能够快速了解它们。它们都是编程范式,或者说一种模式,习惯,而不是技术。面向过程和对象是一组关系,强调完成任务过程中不同的关注点(Concern)。面向接口和切面基于面向对象,目的是方便日后移植、扩展和代码复用(Reuse)。关键词:编程原创 2021-08-07 12:03:00 · 186 阅读 · 0 评论 -
面向对象设计原理 -SOLID原则
在使用依赖注入和Unity之前,我们希望将面向对象编程和设计的五个SOLID原则联系起来单一职责原则(Single-Resposibility Principle)其核心思想为:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相互之间就产生影响,从而大大损伤其内聚性和耦合度。通常意义下的单一职责,就是指只有一种单一功能,不要为类实原创 2021-08-07 12:01:15 · 164 阅读 · 0 评论 -
C# 最佳做法--- C# 中 SOLID 原则
**违背 C# 中 SOLID 原则的危险**随着编写软件的流程从理论领域发展到实际的工程学科,许多原则也应运而生。 当我提及原则时,我所指的是计算机代码帮助维持代码价值的一项功能。 模式是指常见的代码方案(无论好坏)。例如,您可能重视在多线程环境中安全工作的计算机代码。 您可能重视在其他位置修改代码时不会崩溃的计算机代码。 您的确可能重视计算机代码中许多有用的品质,但是每天也会遇到糟糕的代码。首字母缩写词 SOLID 包含一些非常棒的软件开发原则。S 表示 Single responsibili原创 2021-08-07 12:00:21 · 747 阅读 · 0 评论 -
ASP.NET Core 管道再探
ASP.NET Core 管道再探几乎任何服务器端处理环境都有自己的直通组件管道,用于检查、重路由或修改传入请求和传出响应。经典 ASP.NET 围绕 HTTP 模块理念进行排列,而 ASP.NET Core 采用基于中间件组件的更现代的体系结构。最终目的是相同的 - 允许可配置的外部模块以请求(以及稍后的响应)在服务器环境中传递的方式进行干预。中间件组件的主要目的是以某种方式改变和筛选数据流(在某些特定情况下,只是使请求短路,停止任何进一步的处理)。ASP.NET Core 管道自框架 1.0 版发布原创 2021-08-07 11:59:47 · 139 阅读 · 0 评论