大话领域驱动

  最近对网上时常提起的领域驱动,进行一些了解和学习,也查阅了不少书籍和资料。下面来谈谈我对领域驱动的一些感悟吧。

  很多人把领域驱动谈成一种技术,我觉得这个可能是一个误区,因为领域驱动说白了就是一种设计的思想,其实和技术没有很大的关系。

我们在做一个学生管理系统的时候,按照原来传统的设计方式;

  1.分析学生管理系统的功能:比如学生信息管理、学生学籍管理、老师信息管理等;

  2.根据步骤1的分析之后,开始数据库的设计:账号表、学生表、老师表等数据库表;

  3.根据步骤1的功能进行开发、测试、部署;

其实按照上面的步骤和分析其实完全没有问题,也可以很好的解决问题,但是我们接下来按照领域驱动的思想进行分析;

  1.去学校向老师、学生等相关人进行了解、学生管理系统的一些逻辑、功能等(其实同上类似);

  2.根据步骤1的分析之后,设计出学生管理系统的主体流程、功能进行数据结构的设计:学籍管理、课时关系等学生领域的数据库结构;

  3.根据步骤2进行数据库划分成数据库表进行设计;

  4.进行开发、测试、部署;

这个只是一个简单的例子,说明的很简单,其实主要表达的就是领域驱动其实就是一种设计思想,同一般的设计思想在对象/主体上面有明显的差异性,传统的设计思想可能比较看重的是数据的结构和表结构,然后根据表结构和数据结构去组成系统的功能,最后完成系统。但是领域驱动比较看重的是系统在这个领域里面的逻辑主体,然后根据逻辑主体去划分数据结构。

最后我明确一点自己的想法,技术是构建/解决需求的手段,需求是技术的驱动者。因为技术/设计思想去解决需求是有误区的,一切的技术/设计思想都是根据需求进行技术的重组和划分。

原文地址:https://www.cnblogs.com/kq123321/p/6943651.html