问题标签 [business-objects]

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 投票
12 回答
6377 浏览

c# - 有哪些优秀的开源 c# 质量域模型示例

我是一个非常年轻的开发人员,并且仍处于我职业生涯的仿真阶段。我已经阅读了很多有关并发性和使用工作单元允许您的业务层控制持久性事务等主题的内容。我什至实现了一些痛苦但功能性的代码来实现这些主题。但我还没有真正见过真正优雅实现的真实示例。我周围没有很多优秀的 TDD、以模式为中心的榜样,所以我不得不向外部世界寻求指导。

因此,我正在寻找一些开源企业应用程序域模型的出色示例。最好用 c# 编写,但其他语言也可以,只要它们是干净优雅的域模型解决方案的好例子。

我真正希望看到的一些东西是针对并发、业务规则和对象验证、事务/工作单元和半透明日志机制的优雅解决方案。我也很想知道在域模型代码中处理异常的一些现实世界的最佳实践是什么。

我知道我可以随意开始研究一些开源项目,并尝试区分好坏,但我希望这里的专家社区能够对项目有一些好的想法来简化工作。

谢谢你的时间。

编辑

我对使设计和构建更容易的框架并不真正感兴趣。我对框架的选择,或者是否使用框架是必要的考虑因素,但与我的问题完全不同。除非这些框架本身是开源的,并且是非常好的示例。

我正在寻找的是一个“做对了”的项目,用灵活且易于维护的代码解决现实世界的问题,这样我就可以亲眼看到,并了解应该如何完成的示例这不是一个简单的 50 行教程示例。

0 投票
2 回答
2203 浏览

sap - SAP 业务对象

我的雇主邀请我从事 SAP Business Objects 的工作,以分析他们拥有的大量数据。


在我接受之前,我有以下疑问

:我喜欢编程,不想与它失去联系。你认为使用这个工具会让喜欢构建软件的人兴奋吗?或者它是否像工具的大部分部分一样可以通过类似向导的界面进行配置?

湾。该工具是否能够处理为研究和测试目的而收集的数据?

我试过用谷歌搜索,但我只能得到一些视频,每分钟超过 12 次提到“商业智能”。任何帮助我进行初步分析的建议甚至链接都会有所帮助。谢谢...

0 投票
4 回答
577 浏览

c# - 业务对象应该包含对象还是引用?

业务对象是否应该包含对其他对象的引用(如在 id 字段中引用另一个数据库记录)或者它是否应该具有实际对象的实例。

例如:

或者

0 投票
3 回答
547 浏览

c# - 我应该如何为多对多关系设计类?

假设我正在为一家制药公司开发一个软件,其中每个'ProductionLine'都有多个'Stages',每个阶段都有多个'Machines'

现在假设我正在维护三个表来记录阶段及其机器(将生产线留在讨论中)。

(1) 阶段(代表任何生产线可能具有的所有可能阶段的基本数据)

(2) 机器(代表生产工厂可以拥有的所有可能机器的基本数据)

(3) StageMachines(表示为一个阶段分配的机器数量)

请注意,一个阶段可以有多台机器,一台机器可以是多个阶段的一部分。但是机器类不应该有阶段列表,因为它与业务问题域无关。

我设计了以下课程:

现在我面临一个困境:

(1) 当我创建一个舞台时,我必须从所有机器中选择一些机器并保存数据。我应该如何在我的代码中处理这个问题,因为我应该能够编写以下代码:

(2) 我应该如何在我的代码中维护这种多对多的关系?我应该创建一个名为的第三类'StageMachine'吗?如果这样做,在创建 Stage 对象时应该如何保存机器?

谁能给我一个解决方案?

*** 另一个问题是,在检索阶段的机器时,我应该如何以及在 nTier 中的何处进行映射?

对于需要引用其他类的类,C# 中的良好设计模式是什么?

此链接讨论了类设计问题,但没有回答 NTier 设计中我的 Stage 对象的 Machines 的保存和检索机制。

0 投票
2 回答
274 浏览

c# - How to fill objects master - datail collections c#/SQL2005

I'm using Business Objects Collections.
(Not using datasets. Generics collections only.)
Collections of Business objects are filled using SQL Reader

I'd like to know your opinion what is best approach to fill master details (or parent-child) collections

Assume I have 2 objects: Invoice and Invoice_Details
Invoice Object has generic collection "Details" (type of Invoice Details)

What would be best approach to work / fill both collections?
(Eg I'd like to read all invoices from 2008 yr and present on GUI)

  • Do you read all invoices for selected date range, than all children and populate proper Invoice's Details
  • Or read invoice one by one and related details? (eg using multiply result sets)
  • I've also noticed approach based on Binding Source -> read children only when changing current record position...

I'm very interested your opinion what would be best / fastest scenario?

0 投票
1 回答
355 浏览

sql-server - Business Objects XI 默认执行 DISTRIBUTED TRANSACTION - 如何关闭?

我有一个针对两个数据库执行分布式查询的 Business Objects Web Intelligence 报表。

当我运行包含 BEGIN DISTRIBUTED TRANSACTION QUERY 的查询时

SET xact_abort ON
GO
USE Pipeline2
GO
BEGIN DISTRIBUTED TRANSACTION
SELECT * FROM [CQSR_PROD].CqUSer.Cq4User1.Defect
COMMIT TRAN
GO

我收到此错误:

服务器:消息 7391,级别 16,状态 1,行 2 由于 OLE DB 提供程序“SQLOLEDB”无法开始分布式事务,因此无法执行操作。[OLE/DB 提供程序返回消息:新事务无法加入指定的事务协调器。] OLE DB 错误跟踪 [OLE/DB 提供程序 'SQLOLEDB' ITransactionJoin::JoinTransaction 返回 0x8004d00a]。

我想解决这个错误。我看过这篇知识库文章...

http://support.microsoft.com/kb/839279

到目前为止,系统管理员已启用“允许入站”复选框,但这并没有帮助。我相信所有涉及的服务器都是 Windows 2003 服务器。

对生产服务器进行更改以尝试知识库文章中解释的其余选项比拔牙更糟糕,因为他们对更改非常谨慎。因此,我正在寻找解决方法:

有没有办法告诉 BO在查询时不要执行分布式事务?如果我从上述 SQL 中删除“BEGIN DISTRIBUTED TRANSACTION”,一切正常。看来 BO 默认会这样做。

0 投票
1 回答
22530 浏览

c# - BindingSource 刷新

我有 2 个类,即CustomerOrderCustomer有一个订单集合的引用。我使用 master detail BindingSources。

我的问题是当我对订单使用延迟加载模式时,我的详细信息BindingSource没有更新。

用户界面

所以在我的datagridView1点击事件中

我很感激这方面的任何帮助。

0 投票
4 回答
506 浏览

c# - 将我保存在业务对象上

我经常在业务对象上看到这样的例子:

那么为什么在这里,在业务对象上呢?这似乎与上下文或数据相关,而不是业务逻辑。

例如,这个对象的消费者可能会经历这样的事情......

或者,类似这样的更新...

那么这是为什么呢?为什么不包含实际的业务逻辑,例如计算、业务特定规则等,并避免检索/持久化?

使用这种方法,代码可能如下所示:

或者,类似这样的更新...

在这两个示例中,最了解对象正在做什么的消费者调用存储库并请求添加或更新。该对象在该上下文中仍然是 DUMB,但仍提供与其自身相关的核心业务逻辑,而不是如何检索或保留它。

简而言之,我没有看到在业务对象本身中整合 GET 和 SAVE 方法的好处。

我应该停止抱怨和顺从,还是我错过了什么?

0 投票
2 回答
244 浏览

.net - 如何控制自定义业务对象的 dataGridViewColumn 顺序?

创建一个自定义业务对象以滑入 dataGridView 可以创造奇迹……除了我想不出一种编程方式来设置列顺序。

我是否必须再次手动手动添加它们以获得更好的排序,或者是否有一些我可以使用的神秘隐藏属性?

0 投票
3 回答
388 浏览

.net - 商务舱有消息框错了吗?

是否在业务类中引用 System.Windows.Forms 并使用 MessageBox.Show 错误?

目前有一个事件处理装饰器类装饰一个服务类。当某些事件触发时,装饰器想询问用户是否要继续处理某些功能。

这个装饰器类有这些消息框可以吗?