复杂软件解决之道DDD概论
随着业务发展,软件本身也需要不断进行迭代以适应业务变换。
我们可以说,软件存在的价值就是映射真实世界,解决业务问题,从而创造更多价值,为大众提供更加便利的服务。
面对复杂业务场景,我们往往通过不断增加业务分支,对原有的冰山一样的代码逻辑进行小心翼翼的修改,生怕因为自己的修改导致全局出现不可挽回的损失。
这种不断迭代的历史遗留代码,几十年前的《人月神话》已经下过一次定义–“焦油坑”。
我们也常常调侃,自己不是在写代码,而是在Ctrl C / V, 在代码的“shit mountain”山不断进行着业务逻辑的搬运,并时刻祈祷系统别出异常,从而成为背锅的那个人。
这种现实是否能够通过一定的方式/方法/技巧改善甚至说这种类型问题能否改善呢?