类
类的组织
- 公共静态常量->私有静态常量->公共变量(很少出现)->私有实体变量;
- 封装,我们喜欢保持变量和函数的私有性。在需要改变时,我们首先想办法保有隐私,放松封装总是下策
类应该短小
- 对于类,我们采用不同的衡量方法,计算权责
- 单一权责认为:类或模块应该有且只有一条加以修改的理由
- 一个类不应该有太多的权责,单一权责,应该只有一个权责,SRP是OO设计中最为重要的概念之一
- 系统应该由许多短小的类而不是少量巨大的类组成
内聚
- 创造极大内聚类是既不可取也不可能的
- 我们希望内聚保持在较高的位置。内聚高,意味着类中的方法和变量互相依赖、互相结合成一个逻辑整体。
保持内聚性就会得到很多短小的类
保持这种内聚可能程序比原来要长了
- 重构后的程序采用了更长、更具有描述性的变量名
- 重构后的程序将函数和类声明当作是给代码添加注释的一种手段
- 采用空格和格式技巧让程序更可读
为了修改而组织
- 对于多数系统,修改将一直持续。每处修改都让我们冒着系统其他部分不能如期望工作的风险。
- 我们可以通过继承
隔离修改
- 我的理解是通过接口进行解耦,把所有的东西通过接口进行联系起来,如果需要修改的话,就只要修改接口部分就好了