需要 .Net SOLID 设计方面的帮助
我第一次尝试坚持罗伯特·马丁的 SOLID 设计原则,但我并不擅长。 本质上,我需要一个“Node”对象的层次结构。有些节点是 NodeHosts,有些是 NodeChil…
使用虚方法是否违反LSP(SOLID原则的L部分)或者有一些例外?
Closed. This question needs to be more focused. It is not currently accepting answers. 想要改进这个问题?通过编辑这篇文章来更新问题,使其仅…
类型-子类型关系。似乎有些不清楚
我正在阅读面向对象编程语言课程的一些幻灯片,并深入了解类型子类型定义: Barbara Liskov,“数据抽象和层次结构”,SIGPLAN 通知, 23,5(1988 年 …
C#.NET 中 liskov 原理的类型参数约束
我尝试创建一个继承 System.ICloneable 接口的通用接口,但 Clone() 方法的返回类型是 T。当然,T 类型需要约束以确保它是 System.Object 类的继承,…
为什么我不能使用 AddRange 添加子类项?
我有两个类...Parcel 和 FundParcel...我正在尝试将子类型的 IEnumerable 转换为超类型的 IList... public class FundParcel : Parcel { /* propertie…
从矩形导出正方形是否违反里氏替换原理?
Closed. This question is opinion-based. It is not currently accepting answers. 想要改进这个问题?更新问题,以便可以通过编辑这篇文章用事实和…
C# 接口实现关系只是“Can-Do”关系 关系?
今天有人告诉我,C# 中的接口实现只是“Can-Do”关系,而不是“Is-A”关系。 这与我长期以来所相信的LSP(里氏替换原理)相冲突。 我一直认为所有的继…