前面几篇文章我们大部份都是在讨论 :
集中式架构如何的分层
但应该有不少人注意到,我们是专注在每一层的『 技术 』分层该做什麽事情,要处理画面的就丢到 Presentation Layer,要处理业务逻辑的就丢到 Domain Layer,而要处理资料的就去 DataSource Layer,这个前期还可以,但过了一段时间就会变的如下图一样,每一层都非常的肥大,尤其是新创企业前期为了追求快速。
基本上会面临的问题为 :
所以之後就会往下图这个方向前进,也就是所谓的 :
微服务
要往微服务这个方向前进的人们,应该都有面临的到的问题那就是 :
怎麽切 ?
对 ~ 就是要怎麽切 ? 要用什麽单位来切 ? 那假设我们的 domain layer 都是混在一起,要怎麽办呢 ?
Eric Evans 在 2003 年发表了 Domain-Driven Design: Tackling Complexity in the Heart of Software 这本书,书中提出了 :
以业务视角出发,来建构出软件架构
那 DDD 和我们上面提到的难题有什麽关系呢 ?
DDD 就是可以帮助我们建立一个,好切的架构。
接下来会有几篇文章,我们会来讨论它的架构於 :
不过这里要说一下,如果你的最一开始就是以 DDD 来进行专案开发,那恭喜你,你们未来要切成微服务应该没有到太困难,但如果你们是很大包恶心的集中式要切微服务,呃…… 我现在还不知道怎麽解,因为我现在也碰到这个问题。
目前我们在看《单体式系统到微服务 (Monolith to Microservices)-Sam Newman 》这本书,书中有提到几个建议,我在这里记录一下 :
这後有空在来开一篇,来写写书中里所提到的分割方法。
这篇文章简单的谈谈,我们之前的 3-Tier 又可以称为集中式架构,所面临到最大的问题 :
太大了,不知道如何切,怎麽切都会有混在一起的业务逻辑
而 DDD 的诞生就是教我们如何设计出一个『 好切的架构 』,但这不代表我们前面提到的那些都不重要,因为那些东西的概念仍然会在 DDD 里面有使用到。
软件架构也是有一张地图。
接下来我们将会开始往 DDD 研究。
前言 成长的过程中,有高峰有低潮,会有峰回路转的此起彼落,但也有柳暗花明的落泪感动。曾经我们也是那懵...
天色突然暗了下来,一股诡谲感弥漫,令人不禁冒出冷汗。 还好,随身携带头灯可是探险家的必备要领。 山...
赛後中场休息 X 复刊时间 大家好,我是韦恩,今天开始将会暂缓完赛後的系列的发文,复刊时间约在下下礼...
上一篇提到 主urls->次urls->views->models->vie...
明天要出去玩~应该吧 今天把前几天放弃的Medium题目,捡回来解,一样暴力解解决,那麽,废话不多说...