草庐IT

业务建模

全部标签

c# - 为什么需要业务逻辑层?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我正在开发使用网络服务的ASP.net应用程序。没有直接来self的应用程序的数据库连接——所有事件都使用Web服务处理。在UI层,我可以使用几行Linq代码进行数据自定义和验证。如果我的应用程序没有业务层,会有什么缺点?

c# - 您会用什么作为业务验证层?

在我的项目中,我需要创建一个业务对象验证层,该层将获取我的对象并根据一组规则运行它并返回通过或失败以及失败原因列表。我知道有很多选择可以实现这一目标。来自微软:EnterpriseLibraryValidationApplicationBlockWindowsWorkflowFoundationRulesEngine开源:Drools.NETSimpleRuleEngine(SRE)NxBRE有没有人在这些技术(或我没有列出的任何技术)上取得过特别大的成功或失败,或者对他们认为最适合业务规则验证的技术有任何意见。编辑:我不只是询问通用验证字符串长度 最佳答案

2023美国大学数学建模美赛春季赛Z题思路详细代码

题目的第一问要求:COMAP的现代运动会跨学科委员会(ICMG)有兴趣探索创造性的选择、战略和政策,以确保奥运会取得成功并继续通过体育将世界联系在一起。你的任务是提出支持ICMG工作的建议。ICMG建议从多个角度建立衡量举办奥运会影响的指标:经济、土地使用、人类满意度(运动员和观众)、旅行、未来改进的机会、主办城市/国家声望以及您的团队确定的其他标准。我们分析如下,可以从以下角度考虑:经济影响:考虑衡量举办奥运会对主办城市/国家的经济影响,可以采用以下指标:GDP增长率、就业机会增加量、吸引外资量、商业活动量等。土地使用:考虑衡量举办奥运会对土地使用的影响,可以采用以下指标:使用土地面积、土地

c# - 如何在单元测试中为并发建模?

我对单元测试还很陌生,目前正在尝试使用VisualStudio的测试工具。我的问题是如何在这些测试中定义有关并发行为的断言。例如。上课BoundedChan实现有界channel,我如何指定像这样的测试“channel.Send不会阻止”或“如果超出channel的容量,channel.Send将阻塞直到读取值”是否有一个优雅的解决方案来编写这些断言? 最佳答案 不幸的是,并发性仍然是单元测试的一个领域,很难轻松构建。这不是一个简单的问题,仍然需要你在测试中实现一些自己的同步和并发逻辑。对于您提供的示例,可能无法编写最终证明某个方法

c# - 如何对存在于所有限界上下文中并且是应用程序核心部分的实体进行建模?

我正在使用DDD原则制作应用程序。在尽可能多地考虑所有事情之后,我决定开始制作我的限界上下文。我还没有设置最终结构,但截至目前,我的应用程序将包含以下限界上下文:员工管理采购归档报告我希望它尽可能地可插拔,这样我就可以分别开发和维护它们。他们可能会公开WCF或WebAPI以与它们交互。我将使用UdiDahansimplementationofasimpleCQRSpattern.我不想一直使用事件源、消息总线等,因为这不是一个高度协作的应用程序(少于1000个用户,他们不太可能编辑相同的小数据集),这会增加了很多不必要的复杂性。所以问题:Theemployeeanddepartment

c# - 使用存储库时,ASP.NET MVC 中业务逻辑的最佳位置是什么?

在ASP.NETMVC项目中为数据库实现Repository时,将业务逻辑放入其中是否正确,或者将逻辑放入Controller类可能更好?或者使用额外的服务和帮助类来操作数据? 最佳答案 最终,除了它自己的层(作为“模型”层的一部分)之外,您的业务逻辑没有一个完美的地方。通常您可以采用不同的实现方式,但在每种情况下都需要权衡取舍。为业务逻辑创建另一个层的权衡是您必须实际封装您的代码。如果您过于激进,您的实体和域模型之间可能还会出现一些重复(如果您的数据库的关系语义已经处理了您的业务逻辑)。查看View是应用中最脆弱的部分,因为它是最

c# - 存储库、管道、业务逻辑和域模型——我如何将它们组合在一起?

我在设计N层应用程序时遇到了一个难题,您可能有解决方案。表示层是MVC。我的ORM是使用LinqToSQL执行的-它是一个为存储库提供服务的独立项目。每个存储库都有一个接口(interface)和至少1个具体实现。Repositories有以下方法:FindAll(),Save(Tentity),Delete(intid)FindAll()返回某种类型的IQueryable,这意味着它返回我可以应用过滤器的查询。ORM映射是使用数据库优先方法执行的,首先创建表,然后由SQLMetal生成类。我添加了一个与存储库一起使用的管道层。它将进一步的过滤器应用于查询。例如。OrderReposi

c# - 业务对象数据访问层的最佳 "pattern"

我正试图找出最简洁的方法来做到这一点。目前我有一个客户对象:publicclassCustomer{publicintId{get;set;}publicstringname{get;set;}publicListemailCollection{get;set}publicCustomer(intid){this.emailCollection=getEmails(id);}}然后我的电子邮件对象也很基础。publicclassEmail{privateintindex;publicstringemailAddress{get;set;}publicintemailType{get;s

c# - 生成用户友好的字母数字 ID(如业务 ID、SKU)的选项有哪些

要求如下:必须是字母数字,8-10个字符,以便于用户使用。这些将作为唯一键存储在数据库中。我将Guid用作主键,因此最好选择使用GUId生成这些唯一ID。我正在考虑采用Guid并将其转换为8个字符的唯一字符串的base-n转换器。首选简短、轻量级的算法,因为它会被经常调用。 最佳答案 8characters-perfectlyrandom-36^8=2,821,109,907,456combinations10characters-perfectlyrandom-36^10=3,656,158,440,062,976combinat

MATLAB使用Simulink 进行建模与仿真方法 - Simulink基本操作与入门教程

Simulink是MATLAB很强大的功能组件,广泛用于系统建模、仿真和分析。下面分享给大家MATLAB使用Simulink进行建模与仿真方法、步骤,希望能够帮助大家。1工具/原料电脑MATLAB及Simulink组件MATLAB使用Simulink进行建模与仿真2方法/步骤1第一步:启动simulink我们打开MATLAB软件,然后在命令窗口中输入simulink或点击左上角的【新建】,然后选择【simulinkModel】,如下图所示。方法1:方法2:第二步:新建仿真模型单击(BlankModel)新建模型,如下图所示第三步:调用Library此时将进入如下图所示的Simulink界面,我