编写数据Facade类库vs.将其包含在数据访问层中

本文关键字:数据 包含 访问 Facade 类库 vs | 更新日期: 2023-09-27 18:11:35

我正在编写一个简单的数据显示应用程序,它有一个UI表示层,一个数据访问层和一个包含数据集的公共层。由于此应用程序相对轻量级(不需要写入/更新数据),我认为使用数据Facade模式而不是编写业务逻辑层会更容易。

问题:我一直在关注这篇关于Facade: http://msdn.microsoft.com/en-us/library/orm-9780596527730-01-04.aspx的文章,在图4.5中,Facade被写入与子系统(在我的例子中是数据适配器)相同的库中。你会采用这种方法还是一起为数据Facade编写一个新的c#类库?

在我的UI中,我以这种方式使用数据Facade:

public partial class MyDataApp : Form
{
    DataFacade ApplicationDataFacade = new DataFacade();
}

编写数据Facade类库vs.将其包含在数据访问层中

根据facade模式的定义,重点是使用创建到整个库的简单接口的类将复杂的库或api简化为简单的库或api。

所以回答你的问题,当涉及到复杂的库时,facade模式是有意义的,这意味着它不能代替创建业务逻辑,它是业务逻辑的抽象。如果您选择为整个层使用单个类,那么它将在单个类中具有所有这些职责,这不是facade模式所追求的。

当项目很小的时候,尝试使用这种方法是可以理解的,但是要记住评估您的系统可以及时增长多少,以避免在维护时遇到困难。