提示5-16:根据编程语言的模块化结构绘制构建块!
#building-block #source-code #mapping
如果您在设计或指定架构构建块时应用编程语言的模块化结构,您将获得源代码到架构的最佳映射。
例如,对于Java系统的开发,架构构建块(即 level 1 黑盒)应对应于Java软件包。
何时偏离这条规则
- 在历史上成长的系统中,如果代码(似乎)杂乱无章,偏离这条规则可能是有用的……
- 如果您使用各种编程语言来实现其他有 内聚性的构建块(即您在Java中实现构建块的部分,在JavaScript中实现其他部分,甚至在Python中实现其他部分)
- 如果您的一些框架/库甚至二手产品强制执行其他代码结构……那么您应该遵守工具的建议(“不要与平台作斗争”),但仍然要创建有意义的架构构建块。
- 如果位于软件包/命名空间/模块中的东西没有 内聚性(见提示5-17( 内聚性为王))