领域驱动设计(DDD)概念来源于《domain-driven design –tackling complexity in the heart of software》。
领域驱动设计一般分为两个阶段:
1. 以一种领域专家、设计人员、开发人员都能理解的“通用语言”作为相互交流的工具,在不断交流的过程中发现和挖出一些主要的领域概念,然后将这些概念设计成一个领域模型;
2. 由领域模型驱动软件设计,用代码来表现该领域模型。领域需求的最初细节,在功能层面通过领域专家的讨论得出。
领域驱动设计公司可以三步走:
1、先用领域驱动的思维去分析项目,把项目达到 领域专家、设计人员、开发人员都认可的地步,再分析现有系统存在问题,可以通过领域驱动设计去解决,把领域驱动当成一个指导思想,这样既可以快速解决现有问题,又可以把现有系统快速稳定,对老板也可以平稳过度,毕竟要接受新的思想是一个过程,很多项目已经成型,一下改变也很难,不然会得不偿失。
2、对于新项目可以全部按照领域驱动的思想去开发,但是旧项目,特别是微服务的项目建议新的模块才用新的领域驱动的思想去开发,在开发中,发现这个思想的好处,让团队理解和接受,也可以有效的使老板理解这个思想好处,成本和稳定性的优势。这个点最大就是我们学习思想,而不是一定完全要按照框架一个个去执行,毕竟微服务项目其实已经分很细,很多框架稍微改变都可以支持,不一定要一定用那个框架,尽量用熟悉的自己去支持下,命令这些其实可有可无。并不是必须的。
3、在公司都有认识和理解以后,在看成本和时间是否对老功能也进行改版,对于新功能其实是可以全面推行了。
通过上面三个步骤,在很多公司才能平稳的推行,而不至于冲突很大,半路旧夭折了。