可测的设计,其基本价值主张是能够更好地测试代码。更具体地说,对于实例化各个类替换实现、模拟不同场景、调用特定执行路径,可测的设计使它们更加容易。
模块化设计
设计由不同模块组合而成,每一个都服务于设计中的一个特定目的,正是这种性质使得设计变得模块化。通过将程序的整体功能分解为不同的责任,并指派给单独的组件,我们最终得到一个非常灵活的设计。
每个单独的模块包含了满足自身功能所需的一切。通过将这些分离的模块组合成整体设计,我们引入各种接缝,并从中构建出灵活性。这种编程风格强调模块之间的依赖应尽量少。
由小模块来构建软件有助于大产品团队中队员之间的协作,因为产品的功能性变化往往更多地被隔离在代码的特定部分。这遵循了模块化设计的特征,系统被分离为功能元素,其相应的责任承载于特定的功能或能力上。
这种受到模块化设计启发的结构能使系统逐渐扩展,只要模块本身足够的自包含和松耦合,那么仅仅需要插入新模块就能改变或新增功能,而功能北京治疗白癜风的最好的医院北京治疗白癜风去哪家