草庐IT

domain-driven-design

全部标签

c# - 实现领域驱动设计

有人在使用领域驱动设计的技术吗?我最近读了EricEvans的同名书(好吧,大部分!),并且很想听听任何在项目中(特别是在C#/C++中)实现全部/部分内容的人的意见我一直保持这个问题的开放性,因为我希望看到尽可能多的评论,但我有几个特别的问题:1-如果语言支持,值类型是否应该是真正的“值类型”?例如C#中的结构2-C#中是否有任何功能可以使语言和模型之间的关联更加清晰(例如,这是一个实体,这是一个聚合等) 最佳答案 是的!我在我的项目中使用DDD(但是I'mbiased!)请记住,领域驱动设计提供的是指南,而不是严格的答案。只有在

c# - ListBox Groupstyle 显示 : How to design a group name?

我想在列表框中按创建日期对我的项目(图像)进行分组。然后我只使用这段代码:但是当我尝试应用某些样式(即边框)时,我没有显示任何组名。只有边框这是我使用DateTime进行分组的新实现:这是我主窗口中的ICollectionView:ICollectionViewview=CollectionViewSource.GetDefaultView(CollectedFiles);view.GroupDescriptions.Add(newPropertyGroupDescription("DateCreated",newDateTimeToDateConverter()));view.Sor

c# - 可以从 WebClient 继承而我的代码不是 "design time component"吗?

我有一段代码是这样的:publicclassNoFollowWebClient:WebClient{protectedoverrideWebRequestGetWebRequest(Uriaddress){varrequest=(HttpWebRequest)base.GetWebRequest(address);request.AllowAutoRedirect=false;returnrequest;}}不过,每当我将它添加到.cs文件时,VisualStudio2012都会以其无穷的智慧将我的C#源文件转换为“设计时组件”。因此,当我现在双击该文件时,我看到的不是我的C#代码,而

c# - 关于构建领域驱动设计命名空间的一些问题

我有一些关于框架设计的一般性问题。我正在使用C#.NET(框架3.5)和SQL2008(使用LINQ)为iPhone应用程序构建API。我遵循了领域驱动设计模式(在一本书中)并且具有以下文件夹结构:Core-DataAccess--Impl-Domain-ImplCore是我的核心API库-我的DLL。DataAccess包含数据访问接口(interface)DataAccess.Impl包含存储库(LINQtotheDB)域包含我的大部分数据类型和属性。Impl包含我的服务(即AccountService.cs、EmailService.cs)现在,作为练习,我向这个项目添加了一个W

c# - 寻找领域事件的例子

有谁知道在哪里可以找到UdiDahan描述的域事件实现的示例代码?在DomainEvents–Salvation? 最佳答案 在我看来,领域事件的更好实现可以在https://github.com/bsommardahl/BlingBag找到。.有一个示例应用程序和实现说明。我更喜欢这个实现,因为它不使用静态类来引发域事件,也不会将您的域耦合到您的基础设施。相反,它使用普通的olec#事件并在返回您的域实体(如您的存储库或提取器服务)的服务中初始化它们。 关于c#-寻找领域事件的例子,我

c# - 洋葱架构中的典型层是什么?

我目前正在研究领域驱动设计,并尝试将其应用到一个WPF项目中。我观看了一些教程视频,并阅读了很多文章,例如:Onionarchicecturedependenciesinthesamelayer:InfrastructureandWebcommunicatinghttp://eohmicrosoft.blogspot.fr/2012/08/laying-it-out-onion-architecture.htmlDomainDrivenDesign:DomainService,ApplicationService我理解对接口(interface)和控制反转的关注。我读到有一些经常性的层

c# - 领域特定语言 (DSL) 和领域驱动设计 (DDD)

领域特定语言(DSL)和领域驱动设计(DDD)之间有什么异同? 最佳答案 领域驱动设计(DDD)是一种思考和交流问题及其解决方案的方式。领域特定语言(DSL)是一种编写代码的方式。它们很相似,因为它们都以“域”一词开头。就是这样,我猜。:-) 关于c#-领域特定语言(DSL)和领域驱动设计(DDD),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/177628/

c# - 规范模式毫无意义吗?

我只是想知道规范模式是否毫无意义,给出以下示例:假设您想检查客户的帐户中是否有足够的余额,您可以创建如下规范:newCustomerHasEnoughMoneyInTheirAccount().IsSatisfiedBy(customer)但是,我想知道的是,我可以通过在Customer类中使用Propertygetter来实现与规范模式相同的“好处”(例如只需要更改适当的业务规则):publicclassCustomer{publicdoubleBalance;publicboolHasEnoughMoney{get{returnthis.Balance>0;}}}来自客户端代码:c

c# - System.Design 去哪儿了?

我正在制作一个使用ScintillaNet的C#项目,它说:Thereferencedassembly"ScintillaNet"couldnotberesolvedbecauseithasadependencyon"System.Design,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"whichisnotinthecurrentlytargetedframework".NETFramework,Version=v4.0,Profile=Client".Pleaseremovereferencesto

c# - C#.NET 中的 DDD "Module"

在Evan的DDD书中,他谈到了使用“模块”隔离域中的概念。术语“模块”在软件开发中可以被翻译成许多不同的东西,包括概念上的和具体的,所以我想知道DDD模块的概念如何在C#.NET系统中表达,以及是否存在任何直接关联软件开发中术语“模块”的其他用途(例如,Evans提到一些开发人员将DDD模块表示为Java包,我认为这类似于.NET程序集)。我认为,您可以使用单独的.NET程序集或命名空间(这就是我们现在正在做的事情)从字面上表达这个概念。我们计划减少解决方案中的项目数量以缩短构建时间,因此我对如何将此概念应用于单个程序集非常感兴趣。 最佳答案