我应该更喜欢封闭式还是开放式列表<>系统?

Tyl*_*rry 5 .net c# list

我的项目中有一个类,它存储了一个List <>元素.我试图弄清楚是否应该允许用户直接添加到该列表(例如,调用本机添加/删除方法)或通过声明List私有来锁定它,并且只允许我选择实际更改的一些方法列表.

它是一个框架,所以我试图尽可能地设计它,但我也希望尽可能保持简单和无错误.

在这种情况下,最佳做法是什么?

谢谢,泰勒

mar*_*pet 2

对于框架,我建议完全封装列表并创建方法来检索元素并向其添加元素。

如果需要检查添加的元素,或者需要为某些操作触发事件,您将能够做到这一点。

如果您出于某种原因希望以不同的方式存储这些元素,也可以。

另一方面。如果您允许直接访问列表,则将很难返回并封装它,或者更改它并使用其他东西。使用此框架的代码可能完全依赖于对列表的直接访问。