4.1 尽量减少类的协作的数量,即减少使用者和被使用者的数量。
协作意味着一定程度的耦合,但是完全没有协作的类也是没有意义的,最多只能作为一个库使用。
通过抽象,依赖接口,可以最大程度减少依赖的实现类,对使用者来说,只看到接口的依赖,而具体的实现的依赖可以通后后期绑定来配置依赖关系。
如 菜单----〉牛肉
----〉羊肉
----〉鸡肉
可以抽象为
菜单---->肉类<===牛肉
<===羊肉
<===鸡肉
其中---->代表使用,<====代表实现
4.2 尽量减少类和协作者之间传递的消息的数量。
4.3 尽量减少类与协作者之间的协作量
即减少类和协作者之间传递不同消息的数量。