我正在寻找描述设计模式(或反模式)的术语,该设计模式描述系统何时按泛化而非业务条款进行组织。域驱动设计的相反之处是什么?
例如,考虑的领域驱动例如:
Customer.Load
Account.Load
Orders.Load
VS:
Load.LoadCustomers
Load.LoadAccounts
Load.LoadOrders
另一个例子可以在这里看到在MVC: ASP.NET MVC - putting controller & associated views in the same folder?
虽然更多关于组织VS设计,来自pettys IMO的评论是正确的:
认识到这里系统有两个维度, 架构和业务。原始海报想要在一个地方保留处理某个商业关注的所有零件。默认的ASP.NET MVC布局将单个业务关注点分散在 之外,因此架构类似的类可以保持在一起。 这两种选择,我宁愿有事情由企业 关注比通过分组架构关注
只有一种办法身体组织项目之间。 OP要求按域进行组织,Pettys将默认组织描述为“架构上”组织的。但是,我更好地分类是这个“建筑”组织。
在我看来,这是面向方面的设计,即设计偏向于关于一般过程的分类而不是业务的具体条款。我不打算将此与面向方面的编程相混淆,它可以补充DDD,但是它令人困惑,这就是为什么我想知道是否有更好的名字。
你也许可以称之为“面向服务架构”(显然有负面的含义)。你的第二个例子强调了什么,从而忽略了事情的原因。 – GhostCat
操作驱动设计(ODD)? –
我从来没有听说过这个架构的名称。但它绝对似乎支持程序编程而不是OOP。我相信我在几篇博客文章中看到了一些类似的有用模式,声称自己是软件工程的圣杯 – djvuk