维基百科的引用:“ CQS非常适合面向对象的方法,但是也可以在面向对象的编程之外应用。副作用和返回值的分离本质上不是面向对象的,因此CQS可以有益地应用到需要对副作用进行推理的任何编程范例中”。
我需要使用CQRS模式以非OOP语言创建模块化程序的简单示例。
维基百科上的那篇文章有一些代码块,但没有解释它们之间的交互。
最佳答案
CQS与程序是否模块化无关。它仅指定修改值的函数不应返回该值,或者如果它返回值则不应对其进行修改。
例如
int x;
int increment()
{
x = x + 1;
return x;
}
它增加一个整数并返回指向它的指针将破坏CQS。而是应该有两个功能,
int x;
void increment() { x = x + 1; }
int value() { return x; }
关于c - 如何在C或任何其他过程语言中使用CQRS?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22143803/