• 68685

    文章

  • 645

    评论

  • 65

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

领域驱动设计

撸了今年阿里、腾讯和美团的面试,我有一个重要发现.......>>

在创建微服务的过程中,DDD可以在一下4个主要领域发挥作用:

  • 战略设计: 这一阶段的主要工作就是界限上下文的设计,但上下文图(Context Map)与其他模式也同样十分重要。
  • 内部构建块: 在设计一个界限上下文的内部结构时将用到DDD中的多种战术模式,例如,实体、聚合、repository
  • 大比例结构:通过有序演化与职责层模式创建结构
  • 精炼:通过精炼方法,从一个已经成熟的系统中提炼出一个核心领域

任何一个具有高复杂度的业务领域都由一个或多个界限上下文组成,每个上下文负责领域中的一部分内容。每个界限上下文都包含用于描述领域的模型,同时也定义了这些模型所代表的意义的边界。以一个客户对象为例,每个界限上下文都是按照独有的模型与视角来定义这个客户对象的。

上下文图描述了系统中的所有界限上下文,以及他们之间的相互关联及上下文之间的契约。

以下是界限上下文之间常见的关系模式:

  • 共享内核模式(Shared Kernel) : 它表示两个上下文或模型之间共享某个领域的一个子集,包括代码在内。这种模式将增加系统的依赖。
  • 客户 / 供应商模式(Customer / Supplier): 某个上下文将扮演客户的角色,它将从另一个扮演供应商角色的上下文中请求特性。
  • 防崩溃层(Anticorruption layer,ACL): 某个客户端将利用转换器(translator),将其自身的模型与其他模型进行隔离。在将系统转型为微服务或自包含系统(Self-Contained,SCS)架构时,这是一种非常有趣的选择,ACL将表现为一个系统的护罩,以抵御来自外部的侵扰。

聚合是由多个领域对象构成的一个逻辑组,其中的对象将作为一个整体进行处理。聚合中的某个实体将成为聚合根,它负责接收所有外部请求,并负责整个聚合的生命周期。 对于僵硬的架构或是过于复杂的系统来说,可以选择创建一个跨界限上下文的大比例结构,让这个结构随着对于高层次概念的理解不断加深而逐渐进化。 职责层模式是另一种在界限上下文之内创建一个内部结构的结构模式,其思想是按照职责进行结构的创建,而微服务的结构也可以应用相同的概念进行设计。

  • 基础设施层:在基础设施服务中解决交叉问题。
  • 存储层: 数据访问及持久化技术层。
  • 领域层:领域层有业务实体和业务逻辑,是应用程序的中心。
  • 应用服务层: 提供对消费者的响应动作
  • Web层: 应用程序的消费者


 转载至链接:https://my.oschina.net/ez8life/blog/1923392


695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

欢迎来到梁钟霖个人博客网站。本个人博客网站提供最新的站长新闻,各种互联网资讯。 还提供个人博客模板,最新最全的java教程,java面试题。在此我将尽我最大所能将此个人博客网站做的最好! 谢谢大家,愿大家一起进步!

转载原创文章请注明出处,转载至: 梁钟霖个人博客www.liangzl.com

1条评论

Loading...


发表评论

电子邮件地址不会被公开。 必填项已用*标注

自定义皮肤
注册梁钟霖个人博客