遵循Java约定,类应该从一组变量列表开始。如果有公共静态常量,应该先出现,然后是私有静态变量,以及私有实体变量。很少出现公共变量。
对于函数,我们通过计算代码行数衡量大小。对于类,我们采用不同的衡量方法,计算权责(responibility)。
类的名称应该描述其权责,命名正是判断类的权责的第一个方法,如果无法为某个类命以精确的名称,这个类大概太长了。类名越混乱,该类可能拥有过多的权责。
单一权责原则
类或模块有且仅有一条加以修改的理由。鉴别权责可以帮助我们更好的认识到类,并且创造出更好的抽象,将多个权责的类拆解到其它的类中。
系统应该由许多短小的类而不是巨大的类组成。每个小类封装为一个权责,只有一个修改的原因,并与少数其它类一起协同达成期望的系统行为。
内聚
如果一个类中的每个变量都被每个方法所使用,则该类具有最大的内聚性。一般来说,创建这种极大化内聚类是既不可取也不可能的,另一方面,内聚性高,意味着类中的方法和变量互相依赖,互相结合成一个逻辑整体。
保持函数和参数列表短小的策略,有时会导致为一组子集方法所用的实体变量数量增加。出现这种情况时,意味着至少有一个类要从大类中挣扎出来。可以尝试将多余变量拆解到两个或多个类中,让新的类更为内聚。
最后
类的灵活性,给了我们很大的改善空间,想要更好的组织类之间的关系,需要学习 设计模式 ,暂时只说到这里。