2017-09-07 204 views

回答

0

总之做一两件事的能力,并把它做好,排序的。通常在SOA中,您将拥有许多不同的服务,每个服务都处理自己的上下文。例如,在销售系统中,您可能有一位客户,销售代表和订单服务。在银行体系结构中,您可以拥有客户,产品,金融工具和交易(借记卡,信用卡)服务。

SOA的一个有趣功能是,一旦你有很多不同的小服务,你就可以开始通过编排其他服务来增加功能。允许我在这里使用类比。开始将服务视为乐高积木。他们是一件,一件,只有一件。你可以创建一个房子,一辆汽车或任何其他与块。

所以功能上下文是服务的主题/目标。例如在银行业务中,我们会有客户服务。客户服务的功能意味着我们只有与该服务相关的操作。例如,创建客户,按地区查找客户列表,更新详细信息等.YOu绝不会通过客户服务创建新的金融工具。

这个想法是将问题域中的所有对象分解到它们自己的上下文中,并在该上下文中为这些对象开发功能。

不坚持这种设计模式可能产生的一个问题是,您最终会得到具有奇怪操作的服务,例如让客户创建金融工具操作。这是不正确的,因为客户可能与金融工具(他们的储蓄账户,信用卡等)相关联,但它不是该工具的所有者。

基本上所有的意思是,如果你创建一个服务,它应该只处理一个关注的领域,并且只有与这个关注有关的操作。

请记住,没有什么可以告诉你这些背景是什么。这是您根据上下文决定的设计过程的一部分。

相关问题