小编Mat*_*hew的帖子

聚合根.兔子洞到底有多远

我正在尝试将Repository模式用于我当前的项目,而我目前正在尝试对域进行建模并找到聚合根.

我已经读过"级联删除"规则,该规则指出如果在删除根时删除成员没有意义,那么它不应该是根目录的一部分.

我将以警察事件为例: -

事件(聚合根) - 这可能包含调查人员,每个官员做的笔记.它还可能包含嫌疑人的受访日期列表.是否为此事件获得了闭路电视录像?每次看CCTV的日志和谁?是中央电视台为证据/法庭等制作的副本

似乎IncidentAggregate可能会变得庞大,因为它看起来一切都挂在那个事件上.

我的问题是双重的,聚合根应该管理多少,根源是一个好主意?

这可能不是一个特别好的例子,因为你可能永远不会删除类似警察事件的东西,但我希望它能更好地描述我的问题.

c# domain-driven-design aggregate aggregateroot repository-pattern

9
推荐指数
2
解决办法
1397
查看次数

C#业务对象和集合

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

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

如果我有一个事件对象,则此对象可以包含许多人,并且每个Person对象都可以有多个注释.没有Person对象,Notes不能存在,如果没有Incident对象,Person对象就不能存在.

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

这也引出了另一个问题.实际数据库CRUD操作应驻留在何处.Note对象是否应该有自己的CRUD,或者Person对象应该对它负责,因为它没有它就不存在?

我有点迷失方向,我想让这部分正确,因为它将成为该计划其余部分的模板.

.net c# business-logic business-objects

6
推荐指数
1
解决办法
2529
查看次数

wpf定义样式的自定义属性

我使用Style和Control模板创建了一个自定义按钮.我想为这个按钮定义一些自定义属性,如ButtonBorderColour和RotateButtonText.

我该怎么做?它可以只使用XAML完成,还是需要一些C#代码?

wpf styles properties

5
推荐指数
1
解决办法
2006
查看次数