说一说业务架构和应用架构
说一说业务架构和应用架构
大家都知道,我们搞软件研发的,面临两大复杂度,业务复杂度和技术复杂度。
我们常规聊的技术架构,都是为了搞定技术复杂度的,解决技术难题,引入开源组件这些。
而业务复杂度,我们一般用业务架构,,或者工程方法论,或者叫”系统设计“来解决。
现在比较流行的是企业级业务建模,五级流程建模方法,这些东西。
可能很多人没听说过。因为太复杂了。
如果有人熟悉tw的那帮人,可能会知道一些简化版本的,比如 商业画布。
这些方法手段把业务梳理和划分清楚以后,具体怎么用代码来实现。
中间就涉及到业务和代码的鸿沟。深入懂业务的不懂代码,深入懂技术的不了解业务。
所以,后面又引入了一些DDD之类的方法论,指导大家去实现业务模型到代码结构的映射关系。
到这个层次,大家应该明白,上面提到的所有的东西,都是为了解决业务复杂度的。
跟技术架构本身没啥关系,是业务架构和应用架构的范畴。
最终目的是:
1、把当前复杂的业务流程梳理成模型,并映射到应用。
2、当业务发生变化时,能迅速的调整业务模型,并更新应用和系统代码结构。
从这里出发,就会产生很多有意思的东西:
比如,什么样的业务需要聚合在一起,什么样的服务要分开。 --DDD里一些内容
怎么写代码,耦合度低,便于维护,对修改友好。 --Clean Code的一部分,面向对象原则
还有很多这种等等,,但是只要你明白整体是怎么回事儿,那么就很容易理解这些细节了。
在这个大的链条上,COLA能做的事儿,其实非常少。。。
#DDD #业务架构 #系统设计 #CleanCode