我们正在使用 WSSF 构建 WCF Web 服务。这个想法是它将通过服务公开我们的主数据库,并允许我们在服务之上构建各种应用程序和网站。目前,我正在构建一个简单的客户端应用程序,该应用程序将从该服务下载一些数据,对其进行操作,然后将其作为报告 CSV 文件提供给用户。
现在的问题是业务逻辑(操作数据)应该放在哪里?我想我会把它放在服务中。我已经有一个业务层,其中包含与数据库(客户、订单等)几乎一一对应的简单对象。我想我会制作一些“更高级别”的对象来操作数据。例如,通过使用客户、订单和其他对象并生成报告等。我认为最好的地方是服务的业务层。这样,如果需要,我们可以将这个逻辑重用于各种不同的应用程序。
不幸的是,我的老板不同意。他想要“关注点分离”,并表示此逻辑的正确位置应该是在客户端应用程序内部的业务层中,而不是在服务中。我想这可能更简单,但我想在服务业务层中使用我强大的对象模型来编写这段代码。服务公开的对象不是“真正的”对象,实际上只是轻量级的数据结构,没有服务业务层内部存在的完整对象模型的力量。
你们有什么感想?