【发布时间】:2012-03-05 14:15:07
【问题描述】:
我正在为一个新项目构建一些业务对象,我想知道是将数据访问代码作为应用程序的一部分还是将其放在服务之后是否最好。我看到 Jeff Atwood 一遍又一遍地称赞使用 Web 服务的想法……这不是针对 Web 应用程序,但我认为使用 WCF 可以完成同样的事情。
我知道在做出这样的决定时有几个方面需要评估,每个方面都有自己的优缺点,在大多数情况下,我觉得我可以处理每个方面与我们的产品相关的权衡,除了在性能方面。
例如,有缓存对象的代码...在进行直接 sql 访问时效果很好,因为对象会缓存在各个机器上,但缺点是它们每个都必须查询数据库。另一方面,服务只需查询一次数据库,然后分发对象,但服务分发这些对象会比客户端自己访问数据库更快/更慢吗?
如果速度较慢,那么我可能需要在客户端编写额外的代码,例如缓存从服务中获取的对象。每个客户端直接访问数据库的负载都不错,所以我不知道这是否值得付出额外的努力。但如果它超级快,那么它可以让我更容易管理与分布式对象相关的问题。
我希望我在这里不是一般,如有必要,我可以尝试改进这个问题,但我相信这几乎传达了我想要问的内容。
【问题讨论】:
标签: sql wcf object distributed