课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在通过自学或者参加达内培训来学习计算机编程技术,下面我们就一起来了解一下,领域驱动设计都有哪些基础知识。
1.聚合
在认识聚合前,我们得对类再次回顾,类是作为我们开发中的小单元,一切以类构建,而在上下文的视角中,聚合成了小概念,包装了一组高度相关的对象,上下文内以聚合为小单元,以此来保证聚合边界。又将分而治之的思想融入到了限界上下文的内部。
聚合本身是由一个或多个实体及值对象组成,其中一个实体作为聚合根。管理着内部关联的实体与值对象,对外代表着聚合,外部来访者仅可通过聚合根进行访问。
2.实体
对于实体来讲,这个概念对于我们并不陌生,拥有者的身份标识符,内含属性作为该实体的静态特征,作为聚合所拥有的领域知识,拥有着与自身相关的领域行为。
3.值对象
对于值对象,我倾向于将它理解为,基础类型之延伸,既能封装基础类型,又能约束内部属性间关系,还能拥有着自身的领域行为,而与实体的区别是,没有身份标识,尽管带来了持久化的一些问题,但还是存在解决方案。
4.聚合划分
经统一语言与业务分析阶段,借助一系列如事件风暴、用例分析法、名次动词法、四色建模法等活动后,获得了一系列相关联的对象。或可形成一张庞大的对象关联图。
5.聚合协作
聚合与协作聚合之间依照聚合根实体的标识符进行关联,而不是通过依靠协作聚合的引用实例来完成。保持这个原则有助于保持聚合之间的边界并避免加载不必要的对象。如我们常习惯上将关联的集合对象写入到类中,然后在仓储使用时,通过EF加载导航属性,以此方便直接加载关联聚合数据。
6.应用服务
作为限界上下文对外的门户,也即是外观模式的体现。通过用例分析识别出来的用例在此处一一对应存在着,对外提供统一接口,以此满足完整用例场景所需的功能。在应用服务内部,通过编排领域模型对象来完成用例的功能,自身并不包含领域逻辑,但包含着应用逻辑。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。