繁体   English   中英

C#DAL与PL逻辑分离

[英]C# DAL vs PL Logic Separation

我正在尝试编写我的第一个真正的多层应用程序,我想知道在winform应用程序中是否要在表单中添加对象数据源,从而“破坏” DAL / PL分离规则,从而可以使用数据绑定控件通过我的BLL,然后到达DAL以获取数据?

谢谢。

以这种方式使用ObjectDataSource并不一定会破坏BLL / DAL逻辑的分离。 使用ObjectDataSource时,您可以指定BLL操作来操作模型中的对象,而这些操作又可能在内部使用DAL。 ObjectDataSource有效地提供了UI和BLL /业务对象之间的连接。 BLL和DAL分隔仍然可以存在。

但是,在WPF的上下文中,您可能需要密切注意Model-View-ViewModel模式,该模式已被推广为开发WPF应用程序的最佳方法。 就WPF和WinForms之间的可重用性而言,我认为您的业务对象BLL和DAL应该适合此条件(它们将构成MVVM中的“模型”),因为它们不应内置UI考虑因素。绑定到UI中的视图和动作的机制,您可能会发现这是自然的区别点。 WPF将来可能会比WinForms更加广泛地使用,我不会提倡仅仅为了使其在WinForms中可重用而破坏WPF模式。

这取决于您如何在此特定应用程序中定义分隔。 如果您有两种单独的数据获取方式(一种来自数据源对象,一种来自BLL / DAL),则可以将其解释为违反了主体,因为您不再清楚地知道可以将应用程序放置在什么位置。分开。

如果您将数据源公开为DAL的交互点,那么它将成为一个更好的模型。

分离的想法是将应用程序中尽可能多的独立部分放入可以轻松使用的模块中(包括换出,尽管这不一定是主要问题)。 这意味着您需要在应用程序中的库/模块之间具有明确定义(且易于识别)的交互点。

最终,选择取决于在给定项目/应用程序时间内更容易维护/扩展的时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM