gpt4 book ai didi

c# - ReadOnlyCollection 类是不良设计的好例子吗?

转载 作者:IT王子 更新时间:2023-10-29 04:38:45 27 4
gpt4 key购买 nike

<分区>

查看 ReadOnlyCollection 的规范类,它确实实现了 IList界面,对吧。

IList 接口(interface)有Add/Update/Read 方法,我们称之为接口(interface)的前置条件。如果我有一个 IList,我的应用程序中的任何地方都应该能够执行所有此类操作。

但是如果我在代码中的某处返回一个 ReadOnlyCollection 并尝试调用 .Add(...) 方法呢?它抛出 NotSupportedException。你认为这是糟糕设计的一个很好的例子吗?另外,这个类是否打破了Liskov Substitution Principle? ?

微软为什么要这样实现?使这个 ReadOnlyCollection 仅实现 IEnumerable 接口(interface)(顺便说一下,它已经是只读的)是否应该更容易(更好)?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com