为什么数组要实现IList?
查看 System.Array 类的定义 public abstract class Array : IList, ... 理论上,我应该能够编写这一点并且很高兴 int[] list = new int[] {} IList i…
我的讲师对里氏替换原理的定义是否不正确,或者我是否误解了?
由于(里氏)替换原则,以下内容确实有效,该原则表示,如果需要某个类的实例的引用,那么您可以替换对该类的任何子类的实例的引用。 public static v…
关于LSP(里氏替换原理)和子类型的问题
LSP 说 如果 q(x) 是关于类型 T 的对象 x 的可证明属性,则 q(y) 对于类型 S 的对象 y 应该为真,其中 S 是 T 的子类型。 我可以将其改写如下: q(x) …
聚合类扩展基类 - 违反 LSP?
维基百科上的里氏替换原理 (LSP) 假设我有一个外星人具有 numFingers 属性*的类。有时,我需要从数据库中提取 numFingers 的总和,并按其他字段值进行…
您能用一个很好的 C# 示例来解释里氏替换原理吗?
Closed. This question needs to be more focused. It is not currently accepting answers. 想要改进这个问题?通过编辑这篇文章来更新问题,使其仅…
ReadOnlyCollection 类是糟糕设计的一个很好的例子吗?
Closed. This question is opinion-based. It is not currently accepting answers. 想要改进这个问题?更新问题,以便可以通过编辑这篇文章用事实和…
需要 .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 年 …