n层应用程序中的方法级文档

时间:2009-05-01 19:13:51

标签: c# web-services architecture documentation data-access-layer

我的情况:

我的应用程序的数据请求链如下所示:

(Client) -> (WebService) -> (SQL or OLAP Cube)

客户端是Silverlight应用程序,它使用生成的代理与WCF Web服务进行通信。反过来,使用DAL组件授权和访问SQL DB和OLAP多维数据集,基本上它只是转发请求。因此,每种方法都存在于四个不同的地方:

// WCF Webservice interface and implementation (used by client)
public interface ICatalogService 
public class CatalogService : ICatalogService

// DAL interface and implementation (used by webservice)
public interface ICatalogDataAccessLayer
public class CatalogDataAccessLayer : ICatalogDataAccessLayer    

现在我的问题是,我应该在哪里放置文档来清楚地指定这些方法?在类或接口级别,在DAL上还是在Web服务上?

到目前为止我的想法:

我认为在接口上编写方法规范是最有意义的,因为它是正在使用的契约。但是,在我的具体情况下,我认为webservice和DAL之间没有优势:

  • 我是唯一的开发人员,没有单独的webservice-guy或者需要文档的客户端
  • 这是一个封闭的架构,网络服务不公开
  • 将来处理这个项目的每个人都可以访问它的所有组件(并且无论在哪里都可以找到文档)

那么,您如何看待它?在这种情况下,我应该在哪里放置方法级文档?

1 个答案:

答案 0 :(得分:1)

我认为大多数人都希望Web服务的记录比DAL更重要(特别是如果DAL主要生成代码:我猜这些是传递方法)。我将在DAL评论中为那些将来使用它的人添加一个指向Web服务文档的指针。

原因是双重的。首先,Web服务是真正的交互点(因此可以添加更多客户端,这意味着记录服务是一个优点)。第二个是DAL确实听起来不像它在Web服务上提供了“附加价值”(在所描述的配置中),因此回到真正的交互点和价值是有道理的。

如果DAL曾受到另一个客户重用而没有 Web服务层的威胁......显然,这会改变事物以反过来(或自动化重复注释)。