我有一个接口和一个实现它的类。现在我想在这个类中保留一些东西的集合。我应该在其接口部分使用ICollection并在具体类部分使用Collection吗?
在两个部分都使用 ICollection 是否更好的做法和更灵活?
另外:我说的“事物”我想在我的班级中保留它们的集合,它们也是我拥有的其他一些类的对象,并且这些类再次拥有自己的接口。那么最好的做法是什么?当我想将它们保存在集合中时,我什至应该使用这些类的接口类型吗?
如果可以公开接口而不是类,则公开接口;仅当您必须这样做时才公开该类,例如,公开接口上不可用的方法。您应该在界面和类中执行此操作。
其基本原理是,信息隐藏是一件“好事”,所以如果你能在不失一般性的情况下做到这一点,你就应该这样做。