封装集合(Encapsulate Collection)--代码重构1

来源:互联网 发布:spass软件 编辑:程序博客网 时间:2024/06/16 23:00

在某些应用场景中,向类的使用者隐藏类中的完整集合是一个很好的做法,比如对集合的add/remove操作中包
含其他的相关逻辑时。因此,以可迭代但不直接在集合上进行操作的方式来暴露集合,是个不错的主意。
我们来看代码:

重构前:

 

 

重构后:

 

 

总结:对集合进行了封装,没有将Add/Remove 方法暴露给类的使用者。在.NET Framework中,有
些类如ReadOnlyCollection,会由于封装集合而产生不同的行为,但它们各自都有防止误解的说明。这是一
个非常简单但却极具价值的重构,可以确保用户不会误用你暴露的集合,避免代码中的一些bug。

原创粉丝点击