n-tier-architecture相关内容

LINQ to SQL Web 应用程序最佳实践

根据我构建 Web 应用程序的经验,我一直使用 n 层方法.从数据库获取数据并填充对象的 DAL,从 DAL 获取对象并对其执行所需的任何业务逻辑的 BLL,以及从 BLL 获取它的显示数据的网站.我最近开始学习 LINQ,大多数示例都显示了从 Web 应用程序代码隐藏中发生的查询(可能我只看到了过于简化的示例).在 n 层架构中,这一直被视为一个很大的禁忌. 我有点不确定如何构建一个新的 We ..
发布时间:2022-01-07 15:29:13 C#/.NET

将数据表转换为通用列表的最快方法

我有一个返回数据表的数据层选择方法.它从业务层方法调用,然后应返回强类型泛型列表. 我想做的与这个问题非常相似(但不一样): 如何将 DataTable 转换为通用列表? 不同的是我希望列表包含强类型对象而不是数据行(此外,我这里还没有可用的 linq). 我担心性能.业务层方法将依次从表示层调用,结果将被迭代以显示给用户.在业务层添加一个额外的迭代似乎很浪费,只是为了演示而马 ..
发布时间:2021-12-28 20:28:51 C#/.NET

MVC 模式相对于老式的 3 层模式的主要优势是什么

我正在考虑在我的新项目中使用 MVC 模式,我可以清楚地看到能够将数据层(模型)稍微靠近表示层(视图)的主要优势,这将允许应用速度略有提高.但除了性能观点,MVC 与视图-逻辑-数据分层类型模式相比还有其他优势吗? 编辑:对于那些感兴趣的人,我刚刚上传了我创建的示例 PHP 代码,用于测试 MVC 的使用.我故意省略了所有的安全检查,使代码更容易阅读.请不要过多批评它,因为我知道它可以更加精 ..

MVC 与 n 层架构

我想知道 MVC(一种架构模式)和应用程序的 n 层架构之间到底有什么区别.我搜索了它,但找不到简单的解释.可能我对 MVC 概念有点幼稚,所以如果有人能解释其中的区别,那就太好了. 干杯 解决方案 N 层架构通常每层都由网络分隔.IE.表示层在一些 Web 服务器上,然后通过网络与后端应用服务器进行业务逻辑对话,然后与数据库服务器对话,再次通过网络,也许应用服务器还调用一些远程服务 ..
发布时间:2021-12-21 14:45:32 其他开发

EF4 独立协会 - 为什么要避免它们?

我在 MSDN 上看到了这条评论(link 和 link): "请注意,通常应避免使用独立关联,因为诸如N 层和并发变得更加困难." 我是 EF4 的新手,我正在构建一个 n 层 Web 应用程序.这听起来像是一个重要的陷阱.有人可以向我解释一下这是什么意思吗? 解决方案 我认为这是个人喜好.最初,创建 EF 的目的是仅使用 indep.关联并与更经典的 ERM 方法保持一致. ..

防止 .NET Core 嵌套项目引用

鉴于我有一个 .NET Core 2.0 应用程序的情况我还有一个 Web 程序集、一个业务程序集和一个 DataAccess 程序集. 我不希望 Web 程序集直接引用我的 DataAccess 程序集(其中包含我的实体框架内容).这是为了防止 Web 程序集走捷径并直接与 DbContext 对话. 所以我有我的 Web 引用业务和业务引用 DataAccess. 现在出于一 ..
发布时间:2021-11-24 13:22:37 C#

业务层外观与混合业务组件

我目前正在为大型应用程序设计基础.我们将采用传统的 3 层系统,在数据层使用 EF,在业务层使用普通 jane c# 类,在 ui 层使用 MVC/WCF.我们已经制作了足够多的应用程序原型,以意识到这对我们有用,但是由于业务需求的复杂性某些业务组件相互交互是很常见的. 考虑以下两个业务组件: RetailManager - 处理系统中与零售相关的一切 CartManager - 处 ..
发布时间:2021-11-17 03:07:56 C#/.NET

在构建 N 层应用程序时,我应该如何组织我的命名空间?

因此,当我开始尝试在 n 层架构中构建网站时,我很担心性能. 回答这个问题的一个人告诉我,如果你应用了一个好的架构,你最终会获得更好的性能.它与编译 dll 和其他东西有关,但现在我不确定如何命名我的命名空间. 就像我的数据访问层有主命名空间一样,假设我有这个命名空间作为我的数据层..DAL 但现在我在应用程序中有多个实体需要由该层提供服务,并且每个实体都有自己的较小实体. ..
发布时间:2021-11-17 03:07:33 C#/.NET

将 N 层应用程序重建为面向服务的架构 (SOA)?

考虑具有层的 n 层应用程序的常规特征,例如:表示、业务、数据访问;这通常如何重建以形成面向服务的架构 (SOA)? 向在此练习中经验丰富的程序员寻求高级概述. 在某种程度上,我想象它在概念上是扁平化的,而不是有一个垂直堆栈.或者作为一系列水平模块,每个模块都封装了自己的迷你 n 层堆栈.在消息传递之间使用更重的协议. 解决方案 SOA 和 n 层是有些不同的概念.n 层通常是 ..
发布时间:2021-11-17 03:00:04 其他开发

在决定使用 DDD 将我们的整体 Web 应用程序拆分为单独的 Web 应用程序时,我应该考虑什么?

背景 我们使用 Microsoft (.NET) 技术堆栈. 我们目前有一个大型的单体网络应用.我们正在计划如何实施领域驱动设计. 我们计划在一些有界上下文中实现微服务,但不是全部.因为是单体,大多数有界上下文将位于同一个数据库中,因此我们必须确保在以下位置控制访问代码级别. 来自这篇 SO 帖子,有两种方法可以实现有界上下文. |_ 域|_ 申请|_ 介绍|_ 基础设施 ..

在分层项目中放置依赖注入相关代码的最佳层

我计划在我的新应用程序中遵循洋葱架构. 解决方案层次如下 域 - 定义服务和存储库的所有接口. 基础设施 - 这是所有数据访问所在的层.这些类通常实现域中定义的接口. Web - 这是我的应用程序演示部分.在同一层内,我有一个单独的文件夹用于实现域中定义的服务. 我的计划是使用依赖注入进行依赖解析.最初,我想在基础设施中放置与 DI 相关的代码.但问题是在我映射服务时会导致循 ..

API 设计:公开 XML 或对象 #2

我最近问了这个问题:Expose XML or对象 - 感谢大家的回应. 有一点需要澄清. API 将始终被远程访问(即作为服务),最有可能通过网络服务或 WCF. 我同意理论上将对象作为输入/输出公开的强类型 API 是正确的方式.但是,我觉得对于公开 XML 仍有争论.在我看来,使用 XML 的原因是: 业务规则可由业务分析师在 Schematron 中编写. 该接口 ..
发布时间:2021-11-17 02:51:30 C#/.NET

构建无服务层的企业应用

有很多教程教我们直接使用例如一些 ORM 与数据库,但在现实生活中,我不记得一个直接使用数据库而不是服务的大项目,所以这些教程的数量似乎很奇怪给我. 直接连接的应用程序在数据库和应用程序之间的数据转换速度方面具有真正的好处,并且它们没有由于服务层而出现的功能限制(例如让我们使用实体框架和 WCF 数据服务(使用相同的实体数据模型本身))).另一方面,服务解决方案更安全和灵活,这就是为什么我(我认 ..
发布时间:2021-11-17 02:51:02 C#/.NET

定时任务应该放在哪一层?

我正在尝试使用分层架构实现 DDD 应用程序.我有: 基础设施层 - 实现应用程序特定技术部分的层. 领域层 - 包含领域模型的层. 应用层 - 包含与领域模型交互的干扰的层. 接口层 - 从外部接收事件的层. 经典的 3 层(+ 基础设施)架构非常清晰.但是我的应用程序不是很经典.在 UI 旁边,我有计划任务,应该定期运行.我想过把这样的任务放到接口层,因为这些任务实际上处理U ..

EF N 层架构

简介 我们需要构建一个 n 层应用程序,因为我们希望在多个平台上共享我们的 BL,并且只编写我们的 DAL 一次.我已经对这个主题进行了一些研究. 可以在 Davide Piras 的帖子中阅读:MVC3 和实体框架每个 VS 解决方案必须至少有4层.到目前为止一切顺利. 他还表示,DAL 项目是唯一允许知道正在使用 EF 的项目. 问题 1: 我假设“接口"项目的接 ..
发布时间:2021-11-17 02:40:08 C#/.NET

以正确的方式分层 WCF 服务

我的问题更多是架构性质的,较少涉及实际实现. 我已经基于 WCF 构建了一个 API,但无法真正决定如何将 PL 与 BL 分开.我已经使我的服务精简,因此它只包含最少的实现,例如: public TagItemResponse TagItem(TagItemRequest request){return (new ItemTagRequestProcessor()).GetRespons ..
发布时间:2021-11-17 02:31:12 C#/.NET

现在的 N 层架构是什么意思?

在传统意义上,N 层意味着将应用程序分成“层"并将每个“层"放在不同的服务器上.这样做至少有 3 个原因: 维护: a) 代码维护:更容易进行错误修复和功能添加. b) 硬件维护:关闭一台服务器不会中断其他层的服务. 性能:一台服务器的速度通常不够快,无法同时处理 Web 请求、业务逻辑计算和数据库/文件访问. 可扩展性:特别是水平可扩展性 a) 容错:每层能够 ..

ASP.NET Web 应用程序架构设计建议

以前我的 ASP.NET Web 应用程序使用 ADO.NET 直接连接到数据库.现在我想把它改成3层,ASP.NET层,中间web服务层和后端数据库层.我觉得好处是可以把数据源抽象到ASP.NET前端,松散耦合,降低潜在的安全风险,让外部暴露的ASP.Net web应用可以直接访问数据库等. 与 2 层架构和 3 层架构相比,我遇到了 2 个主要问题. 额外的中间 Web 服务层会产 ..
发布时间:2021-11-17 02:28:12 C#/.NET