关于Domain Model的对谈录之二: 充血模型中的Service Facade

A:
充血模型中的Service Facade地位会有点尴尬

B: 讲什么东西啊?说清楚点!

A: 别急嘛,比如说 在Transaction Script模式下,表现层一般通过 类似于“XXXService” 的Facade来调用业务层的服务,是不是?

B: 是啊。不过在充血模型中,已经没有Transaction Script了,也就是说表现层就要直接通过调用Domain Object来获取服务了。

A: 对。

B: 这有什么不好?

A: 那还用说吗,
层和层之间的接口应该尽量单一和集中嘛,这样才能体现封装性嘛。

B: 哦,是。不过我们可以仍然保留一些很薄的Transaction Script作为Service Facade,这些Facade自己不实现业务逻辑,而只是给Domain Object做二传手。

A: 是。但
Facade一般怎么做二传呢?基本上都是在复制Domain Object的方法签名!,简直无聊死。

B: 这类Facade不要不行,要了又无聊,怪不得你说它们地位尴尬。

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.