问题标签 [three-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.
c# - 在 3 层应用程序中找不到类型或命名空间名称“Sclient”
在尝试实现 3 层应用程序时,我复制粘贴了文件并在 10 分钟内完成了以下链接中的步骤。
但是我收到一个错误“找不到类型或命名空间名称'Sclient'”,我的客户端、配置和通用数据类位于 App_Code 文件夹中,并且我在 ClientList.ascx 第 6 行收到错误。
我的代码与链接中指示的完全相同,可能是什么错误原因?
下面是截图
model-view-controller - 3层架构和mvc有什么区别?
3层架构和mvc有什么区别?
他们是一样的吗?
两者都有 3 层,即模型、视图和控制器
c# - 3 层架构 - 在层之间传递数据
试图实现 3 层(不是:层,我只是想在一台机器上逻辑地分离我的项目)架构我发现了很多不同的方法,我很困惑,最好的方法是什么(如果有的话)在 WinForms 应用程序中。
现在我对项目中应该存在的 3 层毫无疑问:
- UI(表示层)
- BLL(业务逻辑层)
- DAL(数据访问层)
在UI中,我放置了所有的 WinForms。还必须有一些逻辑来用来自控件的数据填充对象并将其传递给 BLL 层。
在DAL中,我想使用 ADO.NET 放置用于数据操作的类和方法,例如:
问题在于 BLL 和问题 - 我应该使用数据传输对象在层之间传递数据,还是应该传递整个类?
如果我选择使用DTO,那么我必须创建额外的公共类,Order
即对 UI、BLL 和 DAL 的引用:
并将逻辑分离到 BLL 中:
这种方法以不同的名称被使用,其中包括:here或here。
另一方面,一些“聪明人”和他们的追随者(比如这里)称它为贫血域模型并抱怨它是一个糟糕的设计和不应该使用的反模式。
优点:
- DTO 可以很容易地通过设计来表示数据库表,
- it's light and clear, contains only fields needed for database,
- DAL doesn't have to reference BLL,
The cons:
- anti-pattern (sounds scary ;P),
- violation of OOP (separated properties from methods),
- because logic is in different class, it may be more difficult to maintain when something changes.
So, the opposite approach is to pass the whole object between layers, like here: no DTO, just BLL looking like that:
The pros:
- it's a nicely encapsulated object, following OOP rules (I suppose ;)).
- both logic and properties are in one place, easier to maintain and debug.
The cons:
- to use the object, DAL has to reference BLL (that's not how the 3-tier layer should do, isn't it?).
- class may contain some fields that are not used in Database, as well as some fields from Database (like Id) do not represent "real life" object.
So, it looks like whatever I choose, I'll violate some rules. What's better way then, which should I choose? Maybe there is other approach I haven't found?
java - 在三层架构中使用 Spring Security
我试图了解 Spring Security 在三层架构中的工作原理。
假设系统由以下部分组成:
WEB
<--> APP
<-->DB
并且用户是在DB
层中定义的。
我将如何在应用程序中实现它?
据我了解,我应该执行以下操作:
WEB
在层中创建我自己的身份验证提供程序。- 身份验证提供程序将调用
APP
层上的服务以实际验证针对数据库的凭据。 - 用户通过
WEB
层上的 Spring Security 模块后,不再进行身份验证,每个WEB
-->APP
调用实际上都是unauthenticated。
最后一个项目符号对我来说毫无意义 - 所以我认为我错过了文档中的某些内容。
我的问题 - 这是在三层网络应用程序中实现安全性的 Spring 方式吗?或者,还有更好的方法?
c# - 是否建议使用 .resx 文件将常见的字符串引用存储在类库中?
是否建议使用 .resx 文件将常见的字符串引用存储在业务层类库中?我通常只看到这些在表示层中使用过。
c# - 如何在 C# 中更新和删除 datagridview?
我是 C# 的初学者并使用三层编程。我无法通过数据网格视图更新或删除记录。以下是我的代码。请帮我。
达尔
BLL
介绍
sql-server - 为什么我们可以在存储过程中编写大部分代码而使用数据层?
为什么我们可以在存储过程本身中编写大部分代码时使用数据层?它的优点和缺点是什么?
Data layer
是 中的一个重要层3 tier architecture
,它处理所有与数据库相关的任务。我的问题是,在大多数情况下,我们是否可以使用存储过程本身来实现这一点?在这种情况下,使用该层的主要优势是什么?
编辑:
问题只是为了清楚地了解数据层和数据库存储过程的使用。我在下面得到了一个答案,这对我有帮助。
c# - 正确的 3 层架构?
我知道三层包含PL
,BL
和DL
.
致力于一个,在那个应用程序中,我们是
“将值作为参数从 PL 传递到 BL,然后计算到执行 DB 操作的 DL。”
这是实施 3 层的正确方法吗?
编辑 我知道没有“一刀切”的图层模型。但我想知道哪个更好
传递参数?
设置获取表字段的设置值?(如上
codeplex
例)
django - 如何将 Django 应用程序内部的自定义包加载到 views.py 中?
我是 Django 新手,在使所有项目结构清晰有序等方面存在一些问题。在制作小项目时,Django 中的 MVC 东西很容易使用。但是,当我试图在views.py 和models.py 之间获得一个新层(应用程序逻辑,如三层架构)时,我遇到了问题。
我有以下结构:
- 我的网站/
- 管理.py
- 应用程序1/
- 模型.py
- 视图.py
- 逻辑/
- __init__.py
- 类1.py
- 解析器.py
- ...
我想从and加载views.py
东西。我该怎么做?Class1.py
parser.py
以下都不起作用:
from app1.logic import *
from app1.logic.Class1 import Class1
此外,如果有人可以列出一些非常庞大的 django 项目的示例,那将对我有所帮助。看起来很多类和 .py 文件应该在每个应用程序文件夹中,或者所有内容都在 models.py 中。两者看起来都有点杂乱无章,我相信有一种方法可以让它更清晰一些(比如在 Zend 或 Symfony 中)。
而且,我正在使用 Python3 和 Django 1.5b2。
谢谢。
c# - 多层架构中的异常处理最佳实践
我有一个三轮胎架构的应用程序。而且我不明白如何在这种情况下处理异常。我收集了一些问题:
1. 我是否需要创建一个通用异常,例如PersistentException
,并使所有 DAO 类方法仅抛出一种类型的异常 - PersistentException
?即在每个 DAO 方法(CRUD)中都这样做:
2. 可以为每个EJB 服务创建一个异常类(每个 EJB 接口一个异常)吗?
即假设我有一个 EJB bean,例如PersonManagementBean
, OrganizationManagementBean
,EmployeeManagementBean
具有相应的@local
和@remote
接口。它们暴露给客户端,即实际上它们是会话外观(因此它们位于服务层)。所以为每个 bean ( PersonManagementException
, OrganizationManagementException
, EmployeeManagementException
) 创建相应的异常类是个好主意吗?
或者最好只调用一个异常ServiceException
(如 DAO 的情况)?
3. 什么类型的异常可以抛出我的服务(繁忙)级别(通常情况下)?我可以将 DAO ( PersistentException
) 异常传播给客户端吗?IE
或者我需要将所有异常(在常见情况下)重新抛出为特定于服务的异常?
- “在一般情况下”我的意思是我知道在某些情况下,某些方法可能会抛出带有一些有用信息的额外异常(例如
ValidationException
有关哪些对象未通过验证规则的信息)