问题标签 [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 投票
3 回答
2425 浏览

php - 将工作时间添加到时间戳

我需要将工作时间添加到时间戳。工作时间为上午 8 点至下午 6 点。假设我们有下午 2 点,我必须增加 6 小时。结果应该是上午 10 点......有什么猜测吗?

谢谢。

0 投票
4 回答
1138 浏览

c# - 实现业务逻辑的代码改进

我之前在 SO 上问过这个问题。这与它有关。我们有类似这样的代码库:

我想摆脱这种混乱并采取更多的数据结构和OO路线。甚至我提供的代码示例也没有现在那么可怕。我查看了规范模式,发现它适用。任何想法如何改进代码。

编辑:现在我意识到了,我什至可能想实现这个签名的方法:

0 投票
8 回答
954 浏览

business-logic - 将业务层与数据层分离时在哪里对实体进行限制

我正在尝试为我的大型 ASP.NET MVC 应用程序创建业务和数据层。因为这是我第一次尝试这种规模的项目,所以我正在阅读一些书籍,并努力小心地将事情正确地分开。通常我的应用程序混合了业务逻辑和数据访问层,并且多个业务实体交织在一个类中(当我试图弄清楚在哪里添加东西时,这让我困惑了几次)。

我一直在阅读的大部分内容是将业务层和数据层分开。这看起来一切都很好而且很花哨,但我无法准确地想象在某些情况下如何做到这一点。例如,假设我正在创建一个允许管理员向系统添加新产品的系统:

然后我通过创建一个存储库来分离数据访问

假设我想要求产品名称至少包含 4 个字符。我看不出如何干净地做到这一点。

我的一个想法是扩展 Name 的 set 属性,并且仅在它的长度为 4 个字符时才设置它。但是,创建产品的方法无法知道名称没有被设置,除了 Product.Name != 无论他们传入什么。

我的另一个想法是将它放在存储库中的 Add() 方法中,但是我的业务逻辑就在数据逻辑中,这也意味着如果 Add 调用失败,我不知道它是否失败业务逻辑或因为 DAL 失败(这也意味着我无法使用模拟框架对其进行测试)。

我唯一能想到的是将我的 DAL 东西放在从存储库中的 Add() 方法调用的第 3 层中,但我在我的书中或在任何领域建模示例中都没有看到这一点网络(我至少见过)。当我不确定是否需要它时,它也会增加域模型的复杂性。

另一个示例是希望确保名称仅由一个产品使用。这会放在 Product 类、ProductRepository Add() 方法中,还是放在哪里?

作为旁注,我计划使用 NHibernate 作为我的 ORM,但是,为了完成我想要的(理论上)我使用什么 ORM 并不重要,因为 TDD 应该能够将它全部隔离。

提前致谢!

0 投票
1 回答
219 浏览

sql - 这是现代新闻网站处理它的 sql/业务逻辑的方式吗?

基本上,下图代表了我正在处理的网站主页上的组件,其中到处都有新闻组件。sql 片段设想了我认为它们应该如何工作,但我非常感谢以前与新闻网站合作过的人提供的一些业务逻辑建议。这是我的设想:

替代文字

问题 #1:sql 逻辑是否有意义?您可以看到任何警告/缺陷吗?

我的架构将类似于:

我会将所有文章(主要特色,次要特色,其余)存储在一个表中,我将按type列对它们进行分类,这将对应于我news_types表中的一个数字(例如,我使用文字文本,因为它更容易理解)。

问题#1.1:不同类型的文章依赖一个表可以吗?

一篇新闻文章可以有 3 种图像类型:

  • 1x 原始图像大小,仅显示在文章的永久链接页面上
  • 1x 主要特色图片,将显示在首页部分 #1
  • 1x 子特色图片,将显示在首页部分 #2

现在我希望每篇文章对应一个图像而不是多个图像。article_full不过,用户可以在 TEXT 列中发布文章的图像。

问题#1.2:我不确定应该如何将文章图像合并到我的架构中,依赖于这样的 2 个表的架构是否常见?

文章图片链接:

文章图片:

资料要求:

从我的 sql 逻辑的方式来看,必须有一些数据才能显示出来。

  • 必须至少有一种main类型的文章
  • 必须至少有四种featured类型的文章在主要文章之下

问题 #1.3:如果数据丢失,我是否应该费心创建特殊情况?例如,如果没有主要专题文章,我应该选择最新的专题文章,还是应该要求有人总是指定主要文章?

问题#1.4:在管理员中,当用户发帖时,默认情况下,我将有一个指定文章类型的下拉菜单,normal将被预先选择,并且它将具有 和 的main选项featured。因此,如果用户在某一时刻决定更改文章类型,他/她可以这样做。

问题 #1.5:我的特色文章和主要文章的工作方式仅在最新日期之前。例如,如果用户想要以某种原因指定一篇较旧的文章作为主要文章,我应该创建自定义逻辑,还是只是告诉他们更新文章日期以使其晚于最新文章?

0 投票
2 回答
81 浏览

database - 指向开发快速而肮脏的商业应用程序的指针

最近有人找我要为他们创建一个商业应用程序(我是一名计算机技术专业的学生,​​专攻编程,在系统和驱动程序编程方面有一点经验),听起来很简单,但我真的没有太多一个想法如何或从哪里开始。

它应该是一个带有数据库后端的小型应用程序。基本上跟踪发票、客户、产品和附加数据。

是否有任何 API 可以更快、更轻松地创建这样的应用程序?平台真的不是问题。我有一台 Mac,一台 Windows PC,而且我一般都精通 linux,并且客户端将迁移到我选择的平台。

我对 MySQL 知之甚少,我知道 Objective C、C 和其他一些语言,但是考虑到我将要编写的大量代码可能是之前和之前编写的,以这种方式构建数据库产品似乎是一项非常复杂的工作比我优秀的程序员。

编辑:如果可能的话,我绝对不想玩网络框架。这并不是说我不想看到它们,只是我根本不习惯 Web 开发模型。

0 投票
1 回答
32 浏览

sql - 我该如何处理新闻文章在主要、特色和类别领域的变化?

考虑这样的模板(下面发布的问题):

替代文字

假设我发布了一篇关于 Superbowl 的文章并将其标记在“体育”类别中。在我的文章表中,我有一个标记为特色与否,以及一个标记为主要文章。因此,如果我检查主要标志,它会显示为主要文章。如果我在一天后发布另一篇主要文章,它将从主要特色区域#1 中消失,除非我删除最新的主要文章,否则它将不会出现在区域#2 或区域#3。

问题 #1:我可以通过检查主要文章和特色文章来更新我的区域 #2 的 SQL 逻辑来解决这个问题,并清除最后一篇主要文章,如果我希望它发生变化,这是否是处理这种情况的理想方法到常规的特色文章?

问题 #2:但是如果我完全基于最新发布的 sql 逻辑,并且用户想要指定一篇文章作为主要特色而不考虑日期,我应该为此添加额外的逻辑吗?因此,例如,在整个文章表中一次只能有一个主条目。或者我应该强制用户更新文章日期,因此要求主要是最新发布的?

问题 #3:假设我的 Superbowl 文章从主要文章变为第一个、第二个、第三个、第四个专题文章后,我希望它作为“体育”下的第一篇文章出现在我的类别列表中 - 为此我需要要取消设置主要和特色标志,在我的文章提交代码中添加代码以一次只有 4 个特色和 1 个主要标志是否有意义?显然,如果一个被删除,那么它就不能向后移动。

非常感谢有关处理组织和显示逻辑的任何建议。

0 投票
5 回答
314 浏览

stored-procedures - 我需要知道在程序中保留业务层的缺点

在我的工作中,我有一个朋友坚持使用存储过程将业务逻辑保留在数据库中......

我可以用什么论据说服他不要这样做?

他想要这样做的原因是因为我们有多个具有不同平台的系统(.NET 中的 Web 应用程序与 VB.NET 和另一个在 Power Builder - Sybase 中开发的桌面应用程序)。

谢谢!

0 投票
2 回答
410 浏览

asp.net - 业务逻辑层、多表、关系

在业务逻辑中,我们将表映射到对象,并将该表的字段映射到属性。在一对多关系中该怎么办?举个例子:我有表格、产品和类别。我需要拖动所有产品,而不是 Category_ID(产品表)需要显示存储在类别表中的实际类别名称。

什么是propal的做法?在类似的情况下?

0 投票
2 回答
110 浏览

php - 寻找有关使用 php 将 excel 导入 mysql 的建议

好吧,看看我能不能从你们那里挑选你们的大脑。

我目前正在做一个项目,所有信息都来自不同的客户,唯一的共同点是接收到的数据是用excel完成的。他们提供的 excel 电子表格只是一堆参考资料和代码,而我面临的问题是我需要以某种格式输入参考资料和代码才能使网站正常工作。

完美的情况是去每个客户那里,教我如何需要数据,但由于客户数量众多,我不能这样做,更重要的是我会打断他们的工作流程。每个客户都有自己的代码和参考模型,他们不愿意改变他们的流程

好消息是代码有一个标准模式,但我说的是近 20 万个代码和一堆组合。

他们目前解决问题的方式是,我们有一个人检查收到的每张 Excel 表,运行一些宏,并手动修复那些宏无法修复的代码。

这样做的人已经筋疲力尽和沮丧,我想用 php 自动化这个过程。

建议?

0 投票
1 回答
419 浏览

wcf - 从 WCF 服务应用程序配置业务逻辑层

我有一个我使用的业务逻辑层,它需要基于自定义配置文件的配置。在 Web 或 Windows 应用程序中使用此层时,我会在应用程序启动时初始化业务逻辑层,将路径传递给在 app.config 或 web.config 中配置的配置文件。

我现在正在尝试在 WCF 服务应用程序中使用此业务逻辑层,并且不确定如何执行此操作,因为 WCF 服务应用程序中没有“应用程序启动”点。需要注意的是,WCF 服务应用程序中定义的工作流不直接与业务逻辑层交互,这是通过调用活动 dll 抽象出来的,然后使用业务逻辑层。

因此,架构是这样的:

  • WCFService 使用 ServiceActivity
  • ServiceActivities 使用 BusinessLogic,根据和使用 BusinessLogic 提供的数据进行外部服务调用。

在这种情况下,我应该如何配置我的 BusinessLogic 层?