我有一个接口和一个实现它的类。现在我想在这堂课中保留一些东西的集合。 Sholud我在界面部分使用 ICollection ,并在concerete 类部分使用集合?
在两个部分中使用ICollection是一种更好的做法还是更灵活?
另外:我说的“事物”我想在我的班级中保留它们的集合,它们也是我所拥有的其他类的对象,并且这些类再次拥有自己的界面。那么什么是最好的实践?当我想将它们保存在集合中时,我是否应该使用这些clases的接口类型?
答案 0 :(得分:2)
如果可以公开接口而不是类,则公开接口;只有在必须这样做时才公开类,例如,暴露接口上不可用的方法。你应该在你的界面和班上都这样做。
理由是信息隐藏是“好事”,所以如果你能做到而不失一般性,你应该这样做。