改进C#代码之21:限制类型的可见性
1. 并不是所有人都要看到所有的事情,你的每个类型也不都需要是公有的。在保证类型可以完成其工作的前提下,你应该尽可能地给类型分配最小的可见性。类型的可见性一般都没有你预料中的那么高。内部或似有的类也能实现公有的接口。所有的使用者都能访问到私有类型中公有接口定义的功能。
2. 很多独立的类都应该是内部的(internal),你还可以进一步地限制可见性,将受保护或私有类嵌入到原有的类中。可见性越低,那么稍后升级更改时所需要的变化就越少。原因很简单,能访问你的功能的代码越少,以后可能出现的修改也就会越少。
3. 创建内部类是一种常被忽略的限制类型作用域的做法。
4. 以公有形式暴露给外界的类和接口将成为你的组件的契约,必须认真对待。接口越是冗杂,日后的修改也会越加受限。暴露出的公有类型越少,稍后更新扩展时候周旋的余地也会越大。