n-tier-architecture相关内容
根据我构建 Web 应用程序的经验,我一直使用 n 层方法.从数据库获取数据并填充对象的 DAL,从 DAL 获取对象并对其执行所需的任何业务逻辑的 BLL,以及从 BLL 获取它的显示数据的网站.我最近开始学习 LINQ,大多数示例都显示了从 Web 应用程序代码隐藏中发生的查询(可能我只看到了过于简化的示例).在 n 层架构中,这一直被视为一个很大的禁忌. 我有点不确定如何构建一个新的 We
..
我有一个返回数据表的数据层选择方法.它从业务层方法调用,然后应返回强类型泛型列表. 我想做的与这个问题非常相似(但不一样): 如何将 DataTable 转换为通用列表? 不同的是我希望列表包含强类型对象而不是数据行(此外,我这里还没有可用的 linq). 我担心性能.业务层方法将依次从表示层调用,结果将被迭代以显示给用户.在业务层添加一个额外的迭代似乎很浪费,只是为了演示而马
..
我正在考虑在我的新项目中使用 MVC 模式,我可以清楚地看到能够将数据层(模型)稍微靠近表示层(视图)的主要优势,这将允许应用速度略有提高.但除了性能观点,MVC 与视图-逻辑-数据分层类型模式相比还有其他优势吗? 编辑:对于那些感兴趣的人,我刚刚上传了我创建的示例 PHP 代码,用于测试 MVC 的使用.我故意省略了所有的安全检查,使代码更容易阅读.请不要过多批评它,因为我知道它可以更加精
..
我想知道 MVC(一种架构模式)和应用程序的 n 层架构之间到底有什么区别.我搜索了它,但找不到简单的解释.可能我对 MVC 概念有点幼稚,所以如果有人能解释其中的区别,那就太好了. 干杯 解决方案 N 层架构通常每层都由网络分隔.IE.表示层在一些 Web 服务器上,然后通过网络与后端应用服务器进行业务逻辑对话,然后与数据库服务器对话,再次通过网络,也许应用服务器还调用一些远程服务
..
我在 MSDN 上看到了这条评论(link 和 link): "请注意,通常应避免使用独立关联,因为诸如N 层和并发变得更加困难." 我是 EF4 的新手,我正在构建一个 n 层 Web 应用程序.这听起来像是一个重要的陷阱.有人可以向我解释一下这是什么意思吗? 解决方案 我认为这是个人喜好.最初,创建 EF 的目的是仅使用 indep.关联并与更经典的 ERM 方法保持一致.
..
鉴于我有一个 .NET Core 2.0 应用程序的情况我还有一个 Web 程序集、一个业务程序集和一个 DataAccess 程序集. 我不希望 Web 程序集直接引用我的 DataAccess 程序集(其中包含我的实体框架内容).这是为了防止 Web 程序集走捷径并直接与 DbContext 对话. 所以我有我的 Web 引用业务和业务引用 DataAccess. 现在出于一
..
我目前正在为大型应用程序设计基础.我们将采用传统的 3 层系统,在数据层使用 EF,在业务层使用普通 jane c# 类,在 ui 层使用 MVC/WCF.我们已经制作了足够多的应用程序原型,以意识到这对我们有用,但是由于业务需求的复杂性某些业务组件相互交互是很常见的. 考虑以下两个业务组件: RetailManager - 处理系统中与零售相关的一切 CartManager - 处
..
因此,当我开始尝试在 n 层架构中构建网站时,我很担心性能. 回答这个问题的一个人告诉我,如果你应用了一个好的架构,你最终会获得更好的性能.它与编译 dll 和其他东西有关,但现在我不确定如何命名我的命名空间. 就像我的数据访问层有主命名空间一样,假设我有这个命名空间作为我的数据层..DAL 但现在我在应用程序中有多个实体需要由该层提供服务,并且每个实体都有自己的较小实体.
..
考虑具有层的 n 层应用程序的常规特征,例如:表示、业务、数据访问;这通常如何重建以形成面向服务的架构 (SOA)? 向在此练习中经验丰富的程序员寻求高级概述. 在某种程度上,我想象它在概念上是扁平化的,而不是有一个垂直堆栈.或者作为一系列水平模块,每个模块都封装了自己的迷你 n 层堆栈.在消息传递之间使用更重的协议. 解决方案 SOA 和 n 层是有些不同的概念.n 层通常是
..
背景 我们使用 Microsoft (.NET) 技术堆栈. 我们目前有一个大型的单体网络应用.我们正在计划如何实施领域驱动设计. 我们计划在一些有界上下文中实现微服务,但不是全部.因为是单体,大多数有界上下文将位于同一个数据库中,因此我们必须确保在以下位置控制访问代码级别. 来自这篇 SO 帖子,有两种方法可以实现有界上下文. |_ 域|_ 申请|_ 介绍|_ 基础设施
..
我计划在我的新应用程序中遵循洋葱架构. 解决方案层次如下 域 - 定义服务和存储库的所有接口. 基础设施 - 这是所有数据访问所在的层.这些类通常实现域中定义的接口. Web - 这是我的应用程序演示部分.在同一层内,我有一个单独的文件夹用于实现域中定义的服务. 我的计划是使用依赖注入进行依赖解析.最初,我想在基础设施中放置与 DI 相关的代码.但问题是在我映射服务时会导致循
..
我最近问了这个问题:Expose XML or对象 - 感谢大家的回应. 有一点需要澄清. API 将始终被远程访问(即作为服务),最有可能通过网络服务或 WCF. 我同意理论上将对象作为输入/输出公开的强类型 API 是正确的方式.但是,我觉得对于公开 XML 仍有争论.在我看来,使用 XML 的原因是: 业务规则可由业务分析师在 Schematron 中编写. 该接口
..
有很多教程教我们直接使用例如一些 ORM 与数据库,但在现实生活中,我不记得一个直接使用数据库而不是服务的大项目,所以这些教程的数量似乎很奇怪给我. 直接连接的应用程序在数据库和应用程序之间的数据转换速度方面具有真正的好处,并且它们没有由于服务层而出现的功能限制(例如让我们使用实体框架和 WCF 数据服务(使用相同的实体数据模型本身))).另一方面,服务解决方案更安全和灵活,这就是为什么我(我认
..
最好的方法是什么?为什么? V1: 试试{var service = IoC.Resolve();服务.Do();}捕获(BLException 前){//处理异常} V2: var service = IoC.Resolve();var 结果 = service.Do();如果(!结果.成功){//处理异常} 解决方案 在我看来,例外更好.我认为 DDD 代码首先是好的面向对象代
..
我正在尝试使用分层架构实现 DDD 应用程序.我有: 基础设施层 - 实现应用程序特定技术部分的层. 领域层 - 包含领域模型的层. 应用层 - 包含与领域模型交互的干扰的层. 接口层 - 从外部接收事件的层. 经典的 3 层(+ 基础设施)架构非常清晰.但是我的应用程序不是很经典.在 UI 旁边,我有计划任务,应该定期运行.我想过把这样的任务放到接口层,因为这些任务实际上处理U
..
简介 我们需要构建一个 n 层应用程序,因为我们希望在多个平台上共享我们的 BL,并且只编写我们的 DAL 一次.我已经对这个主题进行了一些研究. 可以在 Davide Piras 的帖子中阅读:MVC3 和实体框架每个 VS 解决方案必须至少有4层.到目前为止一切顺利. 他还表示,DAL 项目是唯一允许知道正在使用 EF 的项目. 问题 1: 我假设“接口"项目的接
..
我的问题更多是架构性质的,较少涉及实际实现. 我已经基于 WCF 构建了一个 API,但无法真正决定如何将 PL 与 BL 分开.我已经使我的服务精简,因此它只包含最少的实现,例如: public TagItemResponse TagItem(TagItemRequest request){return (new ItemTagRequestProcessor()).GetRespons
..
在传统意义上,N 层意味着将应用程序分成“层"并将每个“层"放在不同的服务器上.这样做至少有 3 个原因: 维护: a) 代码维护:更容易进行错误修复和功能添加. b) 硬件维护:关闭一台服务器不会中断其他层的服务. 性能:一台服务器的速度通常不够快,无法同时处理 Web 请求、业务逻辑计算和数据库/文件访问. 可扩展性:特别是水平可扩展性 a) 容错:每层能够
..
以前我的 ASP.NET Web 应用程序使用 ADO.NET 直接连接到数据库.现在我想把它改成3层,ASP.NET层,中间web服务层和后端数据库层.我觉得好处是可以把数据源抽象到ASP.NET前端,松散耦合,降低潜在的安全风险,让外部暴露的ASP.Net web应用可以直接访问数据库等. 与 2 层架构和 3 层架构相比,我遇到了 2 个主要问题. 额外的中间 Web 服务层会产
..
如何将数据传递到 n 层应用程序中的层?我已经制定了 3 种不同的方法. A)通用 .net 对象通用数据表、哈希表、通用数据集、字符串、整数等...然后使用数据集填充发送到 UI 层的业务对象. 替代文字 http://img11.imageshack.us/img11/460/generic.png http://dabbleboard.com/draw65b=54eef6f
..