问题标签 [3-tier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
12543 浏览

c# - LINQ 将数据表映射到列表中

我刚刚发现 LINQ,所以请全面介绍一下我!:-)

所以!我有一个为我提供数据表的数据层,我想将它们转换为对象列表。这些对象在特定层 DTO(数据传输对象)中定义。

如何将数据表的每一行映射到对象并将所有对象放入列表中?(今天我将它“手动”逐个字段)使用LINQ可以吗?我听说过 LINQ2Entities?我对吗?

感谢帮助初学者理解...

0 投票
3 回答
2021 浏览

c# - Windows 窗体中的 3 层体系结构

我目前正在开发 Windows Form 上的 Inventory 项目,我想在其中实现三层架构。我想知道我应该在业务层和数据访问层中创建多少个类。

如果以后,我的项目工作增加了怎么办?我应该坚持使用单个长编码的业务层和数据访问层,还是应该在业务层和数据访问层中创建多个类?

0 投票
2 回答
5234 浏览

architecture - 3层和n层架构的区别

我的教授说,在 BLL 中添加多个层,将使 3 层成为 n 层架构。

但是据我的理解(我可能错了),一层是物理上的分隔,一层是逻辑上的分隔,所以添加多个层仍然是一个3层的应用程序,不是吗?

0 投票
2 回答
696 浏览

asp.net-mvc - ASP.NET MVC - 在 GUI 中从 DAL 中删除依赖项

我正在构建一个包含 3 个项目的 MVC Web 应用程序。一种用于 GUI,一种用于 BusinessLogic,一种用于数据访问。

对于我的数据访问,我有一个由 EF 生成的文件,因此我有一个名为“Customer”的生成类。要为这个类制作验证属性,我需要制作 MetaDataType(这需要在同一个命名空间中完成,因此我必须在 DAL 层中完成) - 通过这样做,我从我的 GUI 引用数据访问层这破坏了拆分项目的整个想法,因为我的 GUI 现在同时引用了我的 DAL 和 BL 层。无论如何,我可以将我的 GUI 和 DAL 层分开,但仍然可以使用 [Required] 等验证属性吗?

提前致谢。

0 投票
2 回答
238 浏览

c# - 将对象(图像)转换为三层(3-tier)中的另一个对象(字节)

转换可以在第一层(UI)中完成吗?

0 投票
4 回答
57399 浏览

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

我正在考虑在我的新项目中使用 MVC 模式,我可以清楚地看到能够将数据层(模型)更靠近表示层(视图)的主要优势,这将允许稍微增加在应用速度上。但是除了性能方面,MVC 与视图-逻辑-数据分层类型模式相比还有其他优势吗?

编辑: 对于那些有兴趣的人,我刚刚上传了一个我创建的示例 PHP 代码,用于测试 MVC 的使用。我故意省略了所有安全检查以使代码更易于阅读。请不要过多批评它,因为我知道它可能会更加精致和先进,但是 - 它有效!欢迎提出问题和建议:这里是链接: http: //www.sourcecodester.com/sites/default/files/download/techexpert/test_mvc.zip

0 投票
7 回答
2582 浏览

c# - 三层架构

我对三层架构有一些疑问。

  1. 如何正确实现三层架构的应用程序?
  2. 这些层之间如何通信?
  3. 数据层是否完全等同于 DBMS?(如果我们使用存储过程又如何呢?如果我们使用对象关系映射框架呢?)

期待听到您的回答。谢谢。


PS:请不要理解我在问一个笼统的问题。好的 ?我在问如何正确设计大型应用程序。什么是最好的方法?。不期待很长的答案。

0 投票
1 回答
299 浏览

asp.net-mvc-2 - ASP.NET MVC 2 在哪里放置逻辑

我有一个带有一些复杂业务规则的 ASP.NET MVC 2 应用程序,我正在尝试决定将特定逻辑放在哪里。

该逻辑在创建记录时发生,基于该记录的某些字段需要创建其他记录。

我目前正在使用带有 ORM 的存储库模式,最简单的放置这个逻辑的地方是我的存储库类,但我觉得这是一个非常薄弱的​​位置,有重要的规则,我会直接把它放在我的部分模型类中有我的验证和元数据,但我必须在我的控制器或存储库中调用方法,这可能会将太多关于实现的知识扩展到这些层。

您对我有什么最佳实践建议?

谢谢!

0 投票
5 回答
2466 浏览

spring - 将典型的 3 层架构转移给参与者

这个问题困扰了我一段时间(我希望我不是唯一一个)。我想以一个典型的 3 层 Java EE 应用程序为例,看看它看起来如何像使用 actor 实现的一样。我想知道进行这样的过渡是否真的有意义,如果有意义的话,我如何从中受益(也许是性能、更好的架构、可扩展性、可维护性等......)。

下面是典型的Controller(展示)、Service(业务逻辑)、DAO(数据):

您可以在许多 Spring 应用程序中找到类似的内容。我们可以采用没有任何共享状态的简单实现,这是因为没有同步块......所以所有状态都在数据库中,应用程序依赖于事务。Service、controller 和 dao 只有一个实例。所以对于每一个请求,应用服务器都会使用单独的线程,但是线程之间不会互相阻塞(但是会被 DB IO 阻塞)。

假设我们正在尝试用演员实现类似的功能。它看起来像这样:

我认为这里如何实现 Get() 和 Post() 提取器并不是很重要。假设我编写了一个框架来实现它。我可以像这样向控制器发送消息:

控制器和服务也会做同样的事情。在这种情况下,整个工作流程将是同步的。更糟糕的是——我一次只能处理一个请求(同时所有其他请求都会进入控制器的邮箱)。所以我需要让它全部异步。

在此设置中是否有任何优雅的方法可以异步执行每个处理步骤?

据我了解,每一层都应该以某种方式保存它接收到的消息的上下文,然后将消息发送到下面的层。当下面的层回复一些结果消息时,我应该能够恢复初始上下文并将这个结果回复给原始发件人。这个对吗?

此外,目前我每层只有一个演员实例。即使它们异步工作,我仍然只能并行处理一个控制器、服务和 dao 消息。这意味着我需要更多相同类型的演员。这将我引向每一层的 LoadBalancer。这也意味着,如果我有 UserService 和 ItemService 我应该分别 LoadBalace 两者。

我有感觉,我理解错了。所有需要的配置似乎都过于复杂了。你怎么看待这件事?

(PS:知道数据库事务如何适应这张图片也很有趣,但我认为这对这个线程来说有点矫枉过正)

0 投票
4 回答
174 浏览

php - PHP中奇怪的for循环/数组问题

这是我在 StackOverflow 上的第一个问题,坦率地说,我对 PHP 还很陌生。只是给你一个简短的提醒;)

我正在构建一个基于 OOP 的网站,采用 3 层架构。在我的数据抽象层中,我有一个名为 DbAdapter 的对象,它包含与数据库通信所需的所有函数。这些函数之一是下面的函数:read($sql),它接受一个 SQL 查询并将结果存储在一个二维数组中。

为此,它使用两个嵌套的 for 循环(一个用于行,一个用于每行的列)。虽然迭代器 $i 像往常一样递增,但不知何故,数组的最后一个元素被覆盖了。

我完全不知道这怎么可能,所以我犯的错误一定是非常愚蠢的。

有人愿意帮助新手吗?

在此先感谢,山姆