问题标签 [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.
model-view-controller - 业务层模块分离
我们的新项目刚刚开始,我们遇到了与其架构相关的问题。
我们有一个 3 层架构:
- 网页界面
- 商业
- 资料库
每个层都只引用它下面的层。通信是通过我们所说的entities
和business objects
(BO) 完成的,如下所示:
<--X-->
表示使用 X 类型的对象进行通信。
因此,我们有例如UserEntity
实体和User
BO。另一种类型是再次具有TicketEntity
和的票Ticket
。
目前,我们在层中有一些不同的垂直切片,例如Accounts
DataRepositories、Business 和 WebUI 中的用户,这些切片定义明确并且不与其他切片(如Tickets
.
现在的问题是一张票有一个买家是用户,我们不知道在我们的架构中应该在哪里连接票和用户。业务组件应该在它们之间进行交互,还是数据层应该将用户映射到工单?
更具体地说,我们有一种方法用于创建驻留在 Business 中并从 WebUI 调用的工单。它将票证和“用户”的详细信息作为参数,我们还不知道它应该是用户类型的对象还是只是用户名/ID。如果我们传递一个用户对象,那么演示文稿应该在调用 CreateTicket 之前获取用户。但是,如果 webui 传递了 id,那么业务层应该解析用户对象,这需要在门票(业务)中添加对用户业务组件的引用。
java - 在这个包结构中放置 Reader/Writer/Emailer ... *er 类的位置?
我最初被教导构建 3 层的方式如下:
- 道
- 领域
- 服务
- 实用程序
- jsf(豆类)...
可实例化的 *er 类不适合这些包中的任何一个,尤其是类主要对静态方法进行分组的实用程序。可以将其添加到服务中作为一个侧面的想法,但这感觉很尴尬。
从那以后,我看到了一个更复杂的包结构(可能是从 Maven 借来的):
- 常量(硬编码常量和枚举)
- 道
- dao.impl(接口的实现)
- 模型
- 资源(用于属性和配置文件)
- 服务
- 服务.impl
- 你...
但是,我仍然看不到可以在哪里放置 *er 类,现在我看到其他类型的类弹出,例如自定义异常和 Spring 的原始模式(见下文)。一般来说,这些似乎是您通常在框架/API 中找到的类类型。
您将如何对这些或任何其他“不可分类”进行分组?
c# - 举一个 3 层架构的好例子?
http://www.codeproject.com/KB/architecture/three_tier_architecture.aspx
这个网站是否提供了一个关于 3 层架构的好例子?我认为这是一个很好的例子,但似乎有一些 1 星评估者实际上说这不是一个好习惯。
所以我想知道你们中的任何人都可以给我一个好的 3 层应用程序的例子吗?
抱歉,我想我可能不清楚,我正在寻找代码:)(在 OOP 中)
3-tier - 3层和3层架构
3层架构和3层架构不一样?
我听到有人说 3 层架构是应用程序中的应用程序层、业务逻辑、数据层。但是如果将这 3 层放在 3 台不同的机器上,那么它就是 3 层应用程序。
这是对的吗?
vb.net - vb.net 中的 3 层帮助
我在 3 层开始了一个简单的项目。添加了一个 Windows 窗体应用程序作为表示层,一个类库作为 DAL,另一个类库作为 BLL。
现在,我在 Presentaion 层设计了一些表单并尝试访问 BLL 类库。但是,我没有得到 BLL 类库的命名空间。
我试过Imports BLL
了,但没有显示 BLL,只显示了表示层的命名空间。
然后我对 DAL 和 BLL 进行了同样的尝试,这些项目都无法访问解决方案中的其他项目。
如何解决这个问题?
c# - Linq to Entities - 3 层架构
在过去的几个月里,我学到了很多关于 Linq-To-Entities 和带有 DAO/DAL/Repository 的 3 层架构的知识。现在我脑子里有一些事情一直困扰着我。我有这三个问题,您将在下面看到。
有很多方法可以使存储库工作,但是使存储库以性能方式工作的“方法”是什么。
1)在构造函数中初始化一个数据上下文
2)使用“使用”
3)以另一种方式(请评论)
我会把你的建议放在这里供其他人评论
此外,似乎有些人说存储库应该向业务层返回一个 IQueryable,而另一些人则说最好返回一个 IList。您对此有何看法?
第一个问题中的上述代码示例都指向Repository,但是在businesslayer中实现repository的最佳方法是什么(在构造函数中初始化,使用“Using”??)
vb.net - VB.net 三层架构入门
我最近开始开发一个具有 BLL、DAL 和表示层的 3 层架构项目。我使用的参考是网络上的示例 3 层应用程序,它们都彼此不同。所以,现在我很困惑哪一个是正确的 3 层。
能否请您指出一本正确的教程或书籍,它遵循正确的 3 层架构,以便我可以遵循它。
silverlight - Silverlight 3 层应用程序验证
我将使用 Silverlight + WCF + ORM 开发 3 层应用程序
现在我的问题是,如果我在数据库层使用 ORM,那么我如何在演示层、业务层公开类以进行客户端验证?
delphi - 使用 D7 的 3 层应用程序架构
到目前为止,我有使用 COM+ 技术构建 3 层应用程序的经验。这是一项庞大而先进的技术,支持许多有趣的概念。对于在 LAN 上运行的应用程序,它可以正常工作。
现在我打算建立3层系统,仍然基于D7。不同之处在于它应该在互联网上工作。客户将分散在世界各地。根据我在这种情况下的经验,我不会依赖 com+。Com+ 基本上需要稳定的连接,防火墙服务器的配置并不容易,它必须打开相当广泛的端口(即使你缩小了它)。
所以问题是。哪种架构(Web 服务、服务或其他)在生产中适合您?我想我想要一个监听一个 tcp 端口的服务。我可以在其中保存可用于打开会话的会话客户端参数。此外,某种内置加密将是一个加号。
感谢帮助!
asp.net - 在 3 层应用程序中使用中继器控件的优缺点是什么?
在数据访问或任何其他意见方面。
如果可能,请说明更好的替代方案(如果有)。