大家好,我是编程乐趣。
今天不推荐开源项目,我们今天来聊聊为什么有DDD这个东西。
因为我在星球里有写DDD的教程,所以也有很多学员就是冲着这个教程加入星球的。
但其实有很多开发人员,不明白为什么要学习DDD。
其实对于我们程序员来说,不明白为什么学这个技术、学这个技术能解决什么问题,是非常致命的。
你不知道为什么而学习,是非常可怕的,也往往学不好。
很多人说是因为DDD现在流行,所以要学习。虽然不能说这样的想法错了,但就因为流行才学习,很多人是会学不明白的,而且学完也不知道如何去运用。
下面我们聊聊三层架构与DDD的区别。
首先是三层架构,这个大家都很熟悉,就是把系统分为:表示层、业务层、数据访问层,为什么要这样分层呢?
相信大家都很了解,每一个层职责和功能是不一样的,表示层是负责前端的展示、业务层负责处理我们核心业务、数据访问层只负责与数据库打交道不涉及业务,在这里体现了“高内聚,低耦合”的编程思想。
如果项目比较小,这样的分层是没有问题的。但是假设我们业务一直在发展,表示层与业务层的代码肯定是逐渐膨胀的。这就会导致原本清晰的代码变得难以维护。
所以,这时候就需要DDD了。
说到DDD,很多人都会被其中的概念搞晕,比如:领域模型、领域边界、上下文、规约、聚合、值对象等。
其实这么多概念我们先不要去管它,而是要先理解DDD是解决什么问题。