问题标签 [business-logic]

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 投票
1 回答
403 浏览

java - 业务逻辑和服务

在三层/多层架构(UI/Logic/DAO/Domain 模型)中,是否可以将服务视为属于业务逻辑层,或者它们是否位于独立的位置?

0 投票
1 回答
123 浏览

business-logic - POS 应用程序中的平均定价实施?

我正在开发一个应该能够计算平均价格的 POS(销售点)应用程序。这是交易,我不知道它是什么以及它是如何为消费品计算的。我刚收到这个要求。我所知道的是,没有办法知道从哪个特定库存商品中出售了一件商品(即,当库存不断补充时)。有没有人做过类似的事情,请帮帮我。或者,如果您可以向我推荐一些资源。

我对商业词汇不是很好,所以请再问我这个问题陈述中是否有歧义。

0 投票
2 回答
70 浏览

.net - 中型公司的基本框架服务是什么?

我为一家中型制造公司创建 .NET 应用程序。我想创建一些我的大多数应用程序都可以使用的“框架”Web 服务。

您发现哪些 Web 服务可用于在这样的环境中重用?

更新:应用程序将完成从与外部客户的电子商务到标签到运输、库存和报告的所有工作。

0 投票
5 回答
438 浏览

sql - 存储库中的业务规则?

让我们假设应用程序在模型/表示层中具有所有必要的业务规则并且它们工作正常。我的问题是冗余业务规则(即两个日期的跨度不能与任何其他现有跨度重叠)是否应该在像 SQL Server 这样的存储库中使用。

在 SQL Server 中添加强制执行此规则的约束是否有必要/有益?一方面,它可以防止任何人(包括 DBA)在绕过应用程序时无意中破坏业务规则。此外,我们已经通过主键和外键在存储库中拥有一些形式的业务规则。另一方面,重复的规则需要额外的时间来开发和维护。

这个问题跨越了许多不同的技术,所以我故意保持标签通用。

0 投票
1 回答
911 浏览

c# - 表模块/表网关 - 将代码从网关加载到哪里?

不确定是否有“正确”的答案,所以我将其标记为社区 wiki。为冗长的序言道歉。

我正在.Net 中构建一个中等大小的 Web 应用程序,并且已经确定了基于表的体系结构。我的 DAL 层由一组 TableGateway 类组成,这些类处理向数据库加载/保存数据 - 这些返回强类型数据集。应用程序逻辑被组织成一组 TableModule 类。最后,我的 ASPX 页面处理显示内容并将表单值等传递给要处理的 TableModules。

令我困惑的是,谁应该负责调用 TableGateway 来获取 DataSet、ASPX 代码隐藏或 TableModule?

示例 1 - ASPX 做到了:

SomePage.aspx.cs:

示例 2 - TableModule 做到了:

SomePage.aspx.cs:

0 投票
6 回答
4446 浏览

architecture - 业务层逻辑 (BLL) 是关于数据的吗?

我认为 BLL 是关于数据的。它不应包含名为 SendEmail 的方法。BLL 是用于缓存数据、操作数据、进行与业务相关的计算的地方。发送电子邮件是一个业务流程,但实际发送电子邮件的代码应该在 BLL 命名空间之外。

BLL 仅与数据有关吗?

0 投票
3 回答
2808 浏览

c# - C# 业务对象和集合

我很难围绕业务对象或更具体地说是业务对象集合。

这是我正在尝试做的一个简单示例。

如果我有一个事件对象,则该对象可能涉及许多人,并且每个人对象都可以有多个注释。没有 Person 对象,Notes 就不能存在,而如果没有 Incident 对象,Person 对象就不能存在。

如果我有 Public List<Note> notes = new List<Note>() 那么 ADD 和 REMOVE 等方法对事件中的人员可用。我假设如果我要在 Notes 集合上调用这些方法,它只会将其从列表中删除,但不会执行任何代码来实际从数据源中添加/更新/删除员工。这让我相信我不应该使用 List 而是其他东西?

这也引出了我另一个问题。实际的数据库CRUD操作应该驻留在哪里。Note 对象应该有自己的 CRUD 还是应该由 Person 对象负责,因为没有它就无法存在?

我对走哪条路有点迷茫,我想把这部分做好,因为它将成为程序其余部分的模板。

0 投票
2 回答
1451 浏览

unit-testing - Should you Unit Test Business Logic methods that consists primarily of a query?

I have a business logic layer with a broad spectrum of classes and their corresponding methods. Creating a Unit Test for a method is generally a given but, in some cases, the method really just returns a set of matching records from the database. It seems kind of silly to write a Unit Test by, say, storing five matching records and then calling the BLL method and see if it returns all five records.

What is best practice here? What do you actually do - as opposed to what you'd like to say you would ideally do?

0 投票
6 回答
2057 浏览

.net - 什么模式/模式最适合开发规则/决策引擎

我正在研究决策引擎/规则评估引擎。例如:

输入:客户和客户所做的所有违规行为

输出:犯罪的后果

一个示例案例是:

输入:客户(Jhonny Chimpo,999-00-1111),进攻(打破窗户,掌掴老板,踢到他的腹股沟队队长)

输出:得到粉红色的纸条

因此,我要编写的这段代码根据每种攻击和组合攻击的规则评估不同的攻击。当前的代码只是 if 和 else 语句的迷宫。我确信这样的业务问题很常见。通常使用什么设计/企业模式来解决这样的问题?

是规范模式吗?我希望代码对扩展开放,干净且灵活。

0 投票
2 回答
342 浏览

user-interface - 如何将模型与gui分开?

我希望这不是一件非常微不足道和显而易见的事情。
我正在从事一些类似的程序。在每个程序中,我都必须实施有关保存项目的未来。我带来了以下设计:

基类项目:

虚函数在派生类中重新实现,导致只有特定程序知道如何(将哪些对象保存到磁盘)实际保存项目。

此外,保存新项目或打开项目的一部分是显示 SaveAs/Open 对话框,用户可以从中选择保存/打开项目的位置。例如,NewProject() 是根据 New 方法实现的:

第 1 到 5 行是我的所有程序都需要的代码,即创建对话框和执行检查的流程和顺序是相同的。

我在想是否应该将创建对话框的实际代码放在 Project::New 和 Project::Open 方法中。经过一番思考,我认为这不是一个好的解决方案,因为项目类是模型类,模型类不应该创建 GUI。所以,我在想,从第 1 行到第 5 行编写代码的最佳位置可能是在特定程序的保存/打开按钮事件处理程序中。但这意味着我将不得不为每个程序复制它。

所以问题是我应该如何将我的所有程序都相同的对话框的创建与不需要复制代码的项目的实际保存/打开分开?