问题标签 [business-layer]
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# - 数据访问层中映射数据库的设计模式 [C#]
我在使用数据映射器模式的数据访问层上工作。我的实际代码结构例如:
我有很多类对应于同名的数据库表。
我的问题是:
我的做法对吗?当我映射所有表时,我将在域层中使用它。
在 Mapper 类中,我使用的方法仅适用于与这些类同名的表。(
Person
类-> Persons db 表、Order
类-> Orders db 表等)但是从数据库映射高级选择的最佳方法是什么,它将包含与更多表的连接。例如,我想选择Person
他的所有Orders.
我应该为 Person 创建域模型,它将包含属性List<Orders>
和使用PersonMapper
以及下一个OrderMapper
?
class - 这个基于域模型的 uml 类图的关系是否正确,需要的方法应该放在哪个类中?
我目前正在尝试为一个订购软件可视化一个类图,其中一个Employee/User
能够创建新订单,其中包含有关该Customer
、该Products
、当前状态和该Employee
特定工作人员的信息Order
。
我的问题是我不知道应该在哪个类中调用哪些方法。方法createOrder()
应该在类Order
中创建本身还是在类User
中,因为在软件中User
创建Order
。
我尝试在类中放置的方法是:
- getAllOrders()、getMyOrders()、getAllCustomers()、getAllEmployees()、
- getOrderByID(orderID), getCustomerByID(customerID), createOrder(),
- createCustomer(), updateOrder(), updateCustomer(),
我将非常感谢对我的 uml 类图的批评和建议。
我当前的域模型类图的图像。
ER 图和简化状态图的图像,以便更好地理解我的项目(都在一张图片中,因为我只能发布两个链接。
c# - 将对象存储在内存中以便在业务层中使用它
我正在开发一个具有 3 层架构的 asp.net 应用程序。(DAL、BL、PL)我正在使用实体框架来处理数据。但是我有这个包含大约 80 列和 110000 行的数据文件,我不想保存在数据库中。我将它反序列化为一个列表(字符串数组列表),因为我需要立即使用 2 个索引(行和列)获取一个值我的问题是:将此对象存储在内存中供我使用的最佳方法是什么在业务层?
database - 文档/动作/命令权限/访问控制、rbac、abac
我正在开发一个用于采购的业务 Web 应用程序。我使用 ASP.NET MVC Core 2.0、EF Core 2.0、MSSQL Server。几个月来,我一直在互联网上寻找我的问题的答案,但找不到答案。假设我有一个文档,我想控制文档上不同操作的权限(读取、编辑、删除、编辑文档编号、编辑它的不同属性等)。所以我开发了一些 IPermissionControl 接口和几个实现这个接口的类,例如 RoleBasedPermissionControl 等。现在我遇到了一个问题。我所有的业务逻辑都在 .Net 应用程序中,而不是在 Db 中。因此,当用户打开所有允许的文档列表时,所有文档都会从数据库中获取并在应用程序中检查权限。这是一个很大的性能问题,所以如果 db 有 1000000 个文档,并且用户只有其中 10 个权限,因此获取所有这些权限是个坏主意。如何通过将所有 BL 留在 c# 应用程序中来解决这个问题?
提前致谢!
c# - 数据层应该实现什么,业务层应该实现什么?
我仍然对数据层和业务层应该编码的内容感到困惑。因为一些方法可以在两个主题中实现。例如,我想要两个日期之间的 Employs 或类似的东西。所以我应该在 BL 或 AL 中这样做。
或者我应该这样做:
并提前感谢任何帮助或参考以了解树层架构!
c# - 业务层中的 C# 唯一属性验证
我在业务层中使用 FluentValidation 和 PostSharp。我的数据库有一个Admin表,并且该表中的UserName列是唯一的。我想用“ Aspect ”检查唯一性。我的代码如下。
管理员验证器
IsUnique扩展方法
FluentValidation 方面
和管理员
正如我在注释行中提到的,我需要将 IEnumerable 传递给 FluentValidationAspect。但是,动态参数不能传递给属性。结果,我被卡在这里了。检查唯一性的最佳方法是什么?
预先感谢您的帮助?此致...
c# - 如何将异常从业务层引导到 UI 层
在我的 UI 层(WinForms/WPF)中,我正在使用来自业务层的以下方法,该方法接受一些输入并创建一个将在 UI 中显示的对象。
当然,BL中的代码可能会抛出一般或特定的异常,然后会返回一个空对象(异常被处理)。我的问题是如何以体面的方式将 BL 中抛出的消息引导到 UI 层?
界面层
// 当上述方法抛出异常时,获取消息并在 UI 中显示。
业务层
asp.net-core - ASP.NET MVC Core - 业务层中的 ViewModel 并实现数据注释
我正在构建一个应用程序,其中在业务层中添加了模型、视图模型,以及 Web 应用程序中的控制器和视图。现在我想通过位于业务层的视图模型应用数据注释。我的问题是如何使用在不同层创建的视图模型中应用的数据注释,即在我的业务层中。
architecture - 软件架构:服务层和业务层有自己的模型吗
我对在业务层和服务层之间设计应用程序感到困惑。
我通过互联网研究到目前为止得到了什么?
服务层通常是用于表示的领域特定代码。
业务层通常是服务于业务规则的领域特定代码。
不确定和困惑,因为我没有直接使用过。
- 服务层是否允许通过业务层访问数据访问层,例如。实体框架
- 服务层和业务层之间是否有自己的模型?据我所知,如果我在实体框架中与实体混合使用,在不同层的业务/服务中建模,代码将是一团糟。