在我的SOA架构中,我有几个WCF服务. 我的所有服务都需要访问数据库. 我应该创建一个专门负责所有数据库访问的WCF服务吗? 或者,如果我的每个服务都有自己的数据库访问权限,这样可以
我的所有服务都需要访问数据库.
我应该创建一个专门负责所有数据库访问的WCF服务吗?
或者,如果我的每个服务都有自己的数据库访问权限,这样可以吗?
在一个版本中,我只在一个服务中实例化了一个实体层,而所有其他服务都依赖于此服务.
在另一个实体中,实体层在我的每个服务中都是重复的.
第一个版本的主要缺点是引起的耦合.
另一个版本的缺点是层重复,可能是SOA不好的做法?
那么,Stack Overflow的优秀人物是怎么回事?
我个人认为,如果你为所有数据库访问创建一个服务,那么多个服务依赖于一种服务,这种服务会破坏SOA的重点(即服务是自治的),正如你所阐述的那样.当你谈到层复制时,如果每个服务都有自己的数据要处理,那真的是重复.我意识到你可能有相同的方式与你的关系数据库进行交互,或者从OOA那天回来,你有一个公共类库,为你封装了数据访问.这是我与自己斗争的事情之一,但我发现每个服务都有自己的数据层没有问题.实际上,在 Michele Bustamante’s book(第1章 – 第8页)中,她实际上描述了这一点,并添加了“服务封装业务组件和数据访问”.如果您发现每个服务都有一个单独的DALC层.这是一个很好的问题.