架构设计 —— 子系统与包

老虎吃天,总要找到下口点。

0. 分解为子系统(subsystems)或包(packages)

  • 常用的子系统(对应于包):
    • 业务规则
    • 用户界面
    • 数据库访问;
    • 对系统的依赖性;
      • 比如开发一个运行于 windows 的程序,可将与 windows 相关的系统调用都隔离起来,放到一个 windows 接口子系统中,如此一来,日后把程序移植到 Mac 或 Linux 系统,只要适配新的接口子系统就可以了;
  • 数据与操作与控制;
    • 数据的归数据
    • 操作的归操作
    • 流程的归流程,控制的归控制;

1. 分解之分层

分层是一种逻辑概念。

  • 分层之逻辑业务的分层;
    • 对逻辑业务进行分层,如何在代码层面体现逻辑的分层:
      • 对类、接口函数等单元组件构建设计合理的扇入、扇出:
      • 扇入:依赖,对应着层次体系中的下游,下层;
      • 扇出:支撑,对应着层次体系中的中层,向上提供接口,作为上层的扇入;
  • 分层之代码层面,类的层次体系;
    • 类的继承,天然在逻辑上构成一种逻辑关系;
    • 层次体系也分横向和纵向;
      • 多态之父类引用指向子类对象,纵向打通整个层次体系;

2. 分解之模块化

  • 模块化即为对功能进行拆分;
  • 模块的展现:
    • 函数
    • 文件夹
    • 等。。。
原文地址:https://www.cnblogs.com/mtcnn/p/9421097.html