快速理解CQRS-创新互联

快速理解CQRS

成都创新互联网站建设公司是一家服务多年做网站建设策划设计制作的公司,为广大用户提供了成都做网站、网站制作,成都网站设计,1元广告,成都做网站选成都创新互联,贴合企业需求,高性价比,满足客户不同层次的需求一站式服务欢迎致电。

CQRS 意味着命令和查询的责任是分离的。很多人错误的认为CQRS是一个整体架构,其实,CQRS这个一个小的模式,这个模式由Greg Young和Udi Dahan首次提出. 他们从Bertrand Meyer的《Object Oriented Software Construction》中获取的命令和查询分离模式的灵感。在CQS背后的主要观点是:"一个方法应该改变一个对象的状态,或者返回一个结果,但不是二者兼具。换句话说,问一个问题不应该改变问题的答案,更正式的,一个方法只有被引用透明(referentially transparent)并且没有任何副作用的时候才会有返回一个值。

正因如此,我们把方法划分为两种:

  • Commands - 改变一个对象或整个系统的状态

  • Queries - 在不改变对象的状态的情况下返回结果

在现实中,可以很简单讲清楚什么是什么。Queries会声明返回类型,commands没有返回值. 这种模式是普遍适用的,它会让对象更加简单。换句话讲,CQRS只适用于解决特定问题.

很多应用程序使用主流读和写来构建对象的方法。对于同一个模型(model)用读和写会造成model更加复杂,维护和优化都非常困难。

这两种模式的真正策略是你可以将修改状态和不修改状态的方法分离开,这种分离可能造成在处理性能和调优时变得困难,你可以在写的部分来优化系统中被分开用做读的部分,写的部分是已知的领域,这个领域包含所有的行为,读的部分被指定为报表提供服务。

这种模式在一个很大的应用程序的另外的一个好处是,你可以将开发人员分配到更小的团队中去完成这个系统的不同任务(只完成读或写),而不用关心其他的任务。例如,开发读部分的人员不需要明白领域模型。

查看原文:Kanasz Robert

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:快速理解CQRS-创新互联
网页路径:http://scyanting.com/article/djdpjp.html