不同的 UI 共享相同的 BLL 和 DAL
Posted
技术标签:
【中文标题】不同的 UI 共享相同的 BLL 和 DAL【英文标题】:Different UI's sharing same BLL and DAL 【发布时间】:2012-04-23 19:36:16 【问题描述】:我们使用分层 UI、BLL、DAL 架构编写了一个系统。
我们现在需要编写一个使用相同数据库的网站,并将使用多达 50% 的现有系统 BLL 和 DAL。
我不想创建一个单独的解决方案并“复制并粘贴”BLL 和 DAL,因为随着更改的进行,许多内容都必须在两个解决方案中复制。
我考虑为网站提供自己的 BLL 和 DAL,并引用已编译的系统 DLL 来删除重复项,但我担心这可能会被证明是不切实际的,因为这两种解决方案都会经常更新。
如果可能的话,我希望这两个项目在逻辑上是分开的。有什么建议吗?
【问题讨论】:
【参考方案1】:为什么不向解决方案添加另一个项目,即网站项目,并让它引用 BLL 和 DAL 项目?
没有什么能阻止您在同一个解决方案中拥有一个 Web 应用程序、一个 WPF 应用程序、2 个类库甚至一个 Silverlight 应用程序!
所以你的解决方案最终会是这样的:
--Solution
|
--- Main appp
|
--- BLL
|
--- DAL
|
--- Web App
【讨论】:
我如何将其设置为同一服务器上的两个独立网站?还是我只需要将 WebApp 文件夹配置为单独的应用程序? 没错。将它们放在同一个解决方案上只是共享一些 DLL 的一种方式。这两个网站将愉快地(并且自动地)彼此完全独立地运行。以上是关于不同的 UI 共享相同的 BLL 和 DAL的主要内容,如果未能解决你的问题,请参考以下文章
除了实例化 DAL 的 BLL 之外,还有啥选项允许在 n 层解决方案中进行单元测试,而不会将 DAL 暴露给 UI 或将 BLL 暴露给 DAL?