几种设计方法的简单理解

这里讨论的设计方法,建立在完成了系统需求分析,得出了系统各需求、功能和流程的前提下。此时,功能流程可以简单描述为“输入->操作->输出”的组合。

需求流程

面向过程设计

将流程中每一个“输入->操作->输出”映射为一段代码或一个子程序;按流程的执行顺序,实现该功能。
面向过程设计

面向对象设计

对流程进行分析,将“输入”、“操作”以及“输出”封装为对象。

面向对象设计以识别通用的“输入”、“操作”、“输出”为开始,以将他们封装为对象为完成。

面向对象设计

表驱动设计

表驱动设计是一种较简单的面向对象设计。

当“输入->操作->输出”中的“操作”仅仅是针对数据库的CRUD操作时,可以将“输入”、“输出”映射到表结构上。表驱动设计以设计数据库表结构开始;以将表结构和表操作映射到“输入”、“操作”、“输出”为完成。

表驱动设计

领域驱动设计

领域驱动设计是一种较复杂的面向对象设计。通常用于“输入”、“输出”可以归属到特定业务领域,而“操作”又比较复杂的情况之下。

领域驱动设计从识别通用的“输入”、“输出”和其中关系、操作为开始;以将它们封装为领域模型和业务规则为完成。

领域驱动设计

2023-02-17 补充

现在看起来,当年对于面向过程、面向对象和领域驱动的理解确实太肤浅了。不过,那时毕竟只是开始,远未成熟,可以理解。