- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
假设我有一个 3 层架构(UI、业务和数据)。通常,我会创建一个名为“Model”或“Common”的第四个项目来保存我的数据访问对象,然后每个其他项目都会使用这个项目。
现在我正在处理一个项目,其中我的一些数据访问对象具有 Save() 等需要访问数据项目的方法。因此,如果我尝试在 Data 项目中使用 Model/Common 项目,我将得到一个循环引用。
在这种情况下,保存数据访问对象的最佳位置在哪里?我可以将它保留在数据项目本身中,但是我的 UI 项目需要了解数据访问对象,因此需要访问数据层,这并不好。
最佳答案
我认为您的 n 层不太正确。听起来您正在构建更多的 2 层系统。
在真正的 3 层项目中,只允许您的数据层与数据库对话。你有你的“模型”或“通用”项目。这些项目是您的数据层。但是你偏离的地方是只有业务层应该被允许与他们交谈。根本不应允许您的表示代码与数据层项目对话。
当你有超过 3 个“层”时,n-Tier 就会出现,但应用程序的原则是相同的:每个层只知道如何使用(并且只需要引用)它下面的那个,然后为它提供一个 api它上面的层。在我自己的项目中,我采用典型的表示层、业务层和数据层,并在业务和数据之间提供第 4 个“转换”层。这样,数据层可以返回通用类型,如数据集、数据表和数据行,而业务层仅必须根据强类型业务对象工作。翻译层仅在通用数据对象和强类型对象之间进行转换。这样,对其中一个传统层的更改不太可能需要对另一个进行更改。
关于c# - n层架构: best place to store business objects?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1870675/
我知道使用 https://www.skype.com/en/developer/create-contactme-buttons/ 添加 Skype 链接很容易.但是可以为 SkypeForBusi
Closed. This question is opinion-based。它当前不接受答案。 想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。 上个月关闭。
Closed. This question is off-topic。它当前不接受答案。 想改善这个问题吗? Update the question,所以它是用于堆栈溢出的on-topic。 已关闭8
我们使用一个持久的 Skype for Business 聊天室,并用它来广播每天在特定项目上完成的工作。我想在每个工作日早上启动 Skype for Business 并将其打开到这个聊天室。我想使
我在本地和远程(通过 VPN)与 GUI 应用程序交互。当我在本地使用它时,大多数操作发生得非常快,而且我的 sikuli 脚本执行得很好。但是,当我远程使用它时,操作需要更长的时间才能完成。 也就是
如何在业务催化剂中编辑模板?我可以从用户界面执行此操作还是需要 Dreamweaver 或其他一些产品? 我用谷歌搜索,但找不到答案...... 当我登录时,在网站选项卡下,有站点编辑器、网页、博客和
我刚开始使用 Google My Business API,并且能够执行获取操作只是为了验证我的 Oauth 设置是否正确。现在我想使用 GMB 添加位置 API 的 post 方法添加一个位置,但在
我们在我们的应用程序中使用 Skype for Business Web SDK 来显示联系人的存在。 当联系人是用户组织内部的某个人(因此与用户在同一个 AD 实例)时,我们在联系人的状态 onCh
有没有办法使用 GMB API 获取评论的链接? 最接近我需要的是这个: https://www.google.com/maps/contrib/113400145807499011881/place
{ "error": { "code": 429, "message": "Quota exceeded for quota metric'Requests' and limit 'Requests
有很多为 Skype 创建 HTML 链接的解决方案(href="skype:username"),但我找不到任何适用于 Skype for Business 的解决方案。 (引用=“啜饮: 有关如何
对于给定的 n 态 busy beaver game , 是 busy beaver function是唯一的,还是可能有多个功能具有相同的最高分?也许这两种方式都没有得到证明? 最佳答案 是的,是的
也许我在当前的 Google MyBusiness API 迁移中遗漏了一些东西。 我们有在 Google My Business API 上运行的脚本,该 API 将于 2022 年 4 月结束,取
在 Business Objects XI Web Intelligence 中,Rank 函数返回密集结果。例如,当按“金额”排名时,我只想返回前十名记录。然而,三项记录在“金额”上并列第五。结果总
我正在按照本指南 ( https://msdn.microsoft.com/en-us/skype/ucwa/authenticationusingazuread ) 尝试和验证并创建 Skype 应
由于我一直在努力学习 Angular,所以这几天我一直在与这个 ng-busy 作斗争。 我有一个 plunker 页面,它可以工作,但不是我想要的。该页面正在显示加载动画,但我想让它在按钮内显示加载
我正在运行关于 svn 的 java 代码,它是这样的 http://code.google.com/p/justcodingforfun/source/browse/MagicMissile/src
请帮助我理解。我是一名技术专家,并试图确定在使用WhatsApp Cloud API执行分配给我的业务任务时是否会有任何限制。。在WhatsApp Business Account文档中,我看到了许多
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
我正在尝试为我的大型 ASP.NET MVC 应用程序创建业务和数据层。因为这是我第一次尝试这种规模的项目,所以我正在阅读一些书籍,并努力小心地将事情正确地分开。通常我的应用程序混合了业务逻辑和数据访
我是一名优秀的程序员,十分优秀!