课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
领域驱动设计是随着互联网的不断发展而逐渐被程序员掌握的一种软件开发方法,而今天我们就通过案例分析来了解一下,领域驱动设计都需要掌握哪些知识。
DDD的全称为DomainDrivenDesign,即领域驱动设计,DDD不是架构,而是一种方法论(Methodology),微服务架构从一出来就没有很好的理论支撑如何合理的划分服务边界。
在我们早期常见的软件开发就是拿到产品需求后,先考虑数据库设计,根据数据库设计,建立对应的实体层、服务层等等,但是这种方式会将分析、设计和业务需求脱节,而更多的是直接考虑应该如何实现,这就有点本末倒置了,而DDD是从问题本身出发进行的设计方法。
概念:系统设计应该是一种以领域为核心的设计和开发,设计应该通过维护一个深度反应领域概念的模型,以及提供可行的经过实践校验的大量模式来应对领域的复杂性。
DDD更像小颗粒的迭代设计,小单元是领域模型(DomainModel)
什么是领域(Domain)?
什么是领域?比如我们经常使用的某宝、某东、属于网上电商领域,那么这些领域就会有对应的商品浏览、购物车、下单、扣减库存、供应商、付款等等核心环境。再比如我们想做一个聊天系统,那这个系统的核心业务就要确定,比如有联系人、分组、朋友圈、视频、聊天记录等功能。
所以,我们可以得知,一个领域的本质上可以理解为一个问题域,只要是同一个领域的,那么他们一定会有相同的问题域,因此只要我们确定了系统所属的领域,那这个系统的核心业务,也就是我们要解决的关键问题,问题的范围边界也就基本确定了。
什么是设计(Design)?
DDD中的设计主要是指领域模型的设计,为什么说是领域模型的设计而不是架构设计或者其他的设计?因为DDD是一种基于模型驱动开发的软件开发思想,强调领域模型是这个系统的核心,领域模型也是整个系统的核心价值所在,每一个领域,都有对应的领域模型,因为领域模型能够很好的帮助我们解决复杂的业务问题。领域模型绑定了领域和代码的是吸纳,确保了终的代码实现就一定是解决了领域中的核心问题
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。