- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在实现一个新的Web服务,并且在我尚未使用CQRS的同时,我想创建我的服务,以便将来可以轻松地将其移至CQRS。因此,我想知道DTO类和方法的命名约定。
我已经阅读了有关DTO命名约定的blog post,对我来说似乎很明智。它建议以下...
GetSomething
是一种好习惯,还是
SomeQuery
会更好?
最佳答案
命名实际上应该只是从该方法正在做的事情中得出的。退后一步,首先查看Command-query separation (CQS)。您实际上要在此处执行的操作是确保任何给定的方法都是或,用于查询数据或命令发生某些事情。
IE。 “索取值不应更改该值”。
CQRS有所不同,但规模较大,而且通常不太为人所知。不过,它不一定复杂,只需在体系结构级别而不是代码级别应用CQS概念。例如,您可以为命令选择WCF,为查询选择原始SQL。它旨在使您可以自由地使查询成为可能的最简单方法,而您的命令仍然可以获得完整的域模型或其他适用于您的业务规则的实现。
CQRS还可将您从CRUD应用程序转移到基于任务的应用程序,您可以在其中基于用户交互将重点更多地放在问题域上,而不仅仅是读取和保存数据。
查询
通常,只要意图很明确,我就在FindXYZ()
,GetXYZ()
或LoadXYZ
上命名“查询”变体(即返回一些数据,请勿修改任何数据)。
指令
尽管您可以用与PowerShell的cmdlet命名约定-verb-noun
类似的术语来思考,但是通常很难命名命令。就我个人而言,尽管我倾向于将命令实现为CommandProcessor模式,其中命令实际上是包含参数的对象(有时仅是实体的主键)。有代码为每个命令的Type
寻找合适的“处理器”。通常,在CQRS中,您将尝试保持同步,因为异步意味着您在处理无法处理的命令方面还有更多工作要做,但是如果您确实需要异步命令,则命令的处理程序可能会发送一个发送给ESB的消息。
关于naming-conventions - CQRS命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7025160/
来自函数和方法参数的 PEP 8 部分: Always use self for the first argument to instance methods. Always use cls for
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 9年前关闭。 Improve this que
如标题所述,驼峰式大小写(即:theQuickBrownFox)如何在其中一个单词以小写字母开头后跟大写字母(如 iPhone 中的情况)时工作。 getiPhoneNumber() 例如看起来很奇怪
我正在寻找线程安全函数的命名约定,这意味着可以从多个线程安全地调用函数。但假设我使用: void FooThreadSafe(); 在您看来,您是否认为: 此函数将使用锁定机制,并发调用是否安全? 或
我正在查看来自多个开发人员的具有多种命名约定的代码 - 一种真正的享受。其中包括匈牙利语(“s_year”、“s_day”)以及其他风格(“yearS”、“dayS”)。 有谁知道这种风格叫什么?对于
function getPerformActionFunction(someParameter) { return function() { performAction(som
我正在做一个项目,遇到了以下命名问题。 我想实现工厂模式,但我不知道要使用的最佳类命名(我正在从一个更改为另一个,这非常耗时:S)。 我通常使用命名空间来分隔类组,但我的问题在于这段特定的代码: cl
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 6年前关闭。 Improve t
我想知道是否有任何甜蜜的语言为“英尺”与“英寸”或“厘米”等提供某种抽象。我正在考虑在 Java 中执行以下操作: u(56).feet() + u(26).inches() 并且能够得到类似的东西
最近,我一直在阅读Code Complete,这是基于这里的许多引用以及一位 friend 的引用,并且对社区有一个命名问题。应该在确定事件是否成功的 bool 方法上使用前缀"is"吗?这是我尝试过
当项目的名称已经是复数时,你如何命名你的数组? array names 是有道理的。array collisionDatas 没那么多。 最佳答案 我几乎总是将它命名为Item name + s。命名
我正在查看代码并在函数和方法名称的开头看到 %。例如 defun %rod 和 defmethod %do-query。是否有使用这种命名方案的标准约定? 最佳答案 来自few places : %f
您对应用程序域模型类和表示层类使用的命名约定是什么?后缀/前缀来区分类的目标和第一眼: 例如,从 DAL 返回的有关人员的信息可以是 public class PersonEntity { pub
我正在为 Assemble v0.6.0 创建一个 nunjucks 插件.它似乎正在使用 Template (我认为它以前被称为 Engine ),它也支持 Verb . 我应该调用插件“engin
对于某些对象将存在于两个版本中的情况,我需要提出一个命名方案。假设服务器端有 File 和 Directory 对象,它将这些对象的轻量级版本传递给客户端。 LightweightFile 和 Lig
好的,因此您可以阅读有关标识符命名的准则,“直到您脸色发青…… Camel 案,帕斯卡案,使它们具有描述性……”但它们实际上并不能帮助您为给定名称选择最佳名称应用程序域。 最容易选择的(IMHO)是一
我见过“The Coolest Server Names”,我还见过另一个 smaller-ish question与我的有关,不幸的是,它已关闭。 不过,这是一个严肃的问题,因为我在一个内部应用程序
问题是关于命名变量或标识符的正确方法,这些标识符将两个或多个“事物”的集合分组。让我用例子和问题进一步解释一下...... 如果你拥有一个 id,你可以用标识符“id”来命名它 如果你有一个包含约会的
作为一名初学者/中级开发人员,我遇到了一个问题,因为我的项目越来越大,越来越抽象,因为我使用了更多的 OOP 原则,我在命名事物时遇到了问题。就像当我有多个项目或类库时,我不知道如何命名它们。我看到了
我正在实现一个新的Web服务,并且在我尚未使用CQRS的同时,我想创建我的服务,以便将来可以轻松地将其移至CQRS。因此,我想知道DTO类和方法的命名约定。 我已经阅读了有关DTO命名约定的blog
我是一名优秀的程序员,十分优秀!