首先,如果以前有人问过这个问题,我深表歉意,但我找不到任何可以直接回答这个问题的东西。
这是我的问题。我继承了一个产品,它的设计非常灵活,以至于填充(silverlight)表单上的几乎每个组合框和文本块都需要服务请求。有些屏幕需要超过 15 个单独的请求才能填充!
现在,我曾多次使用 WCF Web 服务,并且将服务合同拆分为小的离散操作从未受到太大影响,..遗憾的是,这个项目并非如此。所以它让我想知道......
没有计划将服务暴露在我们自己的墙外。没有计划为此特定服务编写另一个客户端。那么我不能在服务端写一个“用例控制器”吗?所以,在“创建投诉”屏幕中,而不是有一个请求列表,比如......
- 获取投诉类型
- 获取客户类型
- 获取区域详细信息
- 等等...
要填充表单,我只需一个名为“GetCreateComplaintData”的操作合同。当只有一个客户端必须将所有这些请求聚合并同步为有意义的东西时,以如此粒度公开这么多操作似乎很疯狂。为什么不首先暴露一些有意义的东西呢?
更重要的是,如果您不打算将服务 API 公开给第三方,这难道不是比公开数据库中表的 CRUD 操作更好的策略吗?
感谢所有帮助和意见。提前致谢。