C# 我是否应该将特定于客户的API需求放入BLL层?

C# 我是否应该将特定于客户的API需求放入BLL层?,c#,wcf,architecture,n-tier-architecture,C#,Wcf,Architecture,N Tier Architecture,我必须建立一个小应用程序,这基本上是一个WCFAPI的CRUD操作的数据库。我希望按照该顺序创建DAL-->BLL-->Web服务层 在DAL中,我打算在1对1的基础上为db创建基本的表CRUD操作,1调用表上的一个操作 其中一个要求是,使用此接口的传统应用程序需要访问WCF web服务,以便每个屏幕都有一个关联的web服务方法。i、 e.一个屏幕(业务部门决定每个屏幕有一个单一的方法) 我想知道我是否应该将这些需求构建到BLL中,然后通过Web服务重新公开?或者我应该创建BLL来执行逻辑业务操

我必须建立一个小应用程序,这基本上是一个WCFAPI的CRUD操作的数据库。我希望按照该顺序创建DAL-->BLL-->Web服务层

在DAL中,我打算在1对1的基础上为db创建基本的表CRUD操作,1调用表上的一个操作

其中一个要求是,使用此接口的传统应用程序需要访问WCF web服务,以便每个屏幕都有一个关联的web服务方法。i、 e.一个屏幕(业务部门决定每个屏幕有一个单一的方法)

我想知道我是否应该将这些需求构建到BLL中,然后通过Web服务重新公开?或者我应该创建BLL来执行逻辑业务操作,然后在顶部构建一个facade,该facade将创建特定的(上面提到的screen-to-web方法调用要求),然后在WCF上重新公开它

我不想过于复杂的应用程序,但我希望它是可扩展的


任何值得赞赏的建议。

总的来说,我认为保持你的BLL清洁并可供其他任何需要它的东西使用是有意义的。然后,如果您需要支持一些遗留调用,那么您的facade想法是一个好主意。这将允许您的BLL保持其应有的状态,而facade将协调正确/现有的BLL逻辑以服务于遗留应用程序

这样回答几乎是一种廉价的出路。我的回答是,我同意你的看法;构建一个facade来支持遗留调用并协调现有的BLLAPI调用。这样你的BLL就会保持干净