我过去曾听过不同人的术语Data Driven和 Event Driven模型。我曾经用过google,但是这些术语对我来说仍然很模糊,因为它们看起来都和我相似
数据驱动编程是一种编程模型,其中数据本身控制程序的流程(而不是程序逻辑),在事件驱动编程的情况下,它是事件而不是数据本身控制程序的流程。
每个地雷的理解事件也是数据。例如,在基于员工的Web应用程序中-如果用户单击“创建员工”按钮,则这里的事件是创建员工(也仅是一种数据),而数据是与员工相关的信息。
现在,首先在服务器上将是事件,它将决定程序的流程,然后数据(与员工相关的信息)也将控制执行流程,例如是否将执行永久雇员不同的方法以及是否将临时雇员不同的方法
那么,不是每件事都是数据驱动的体系结构吗?如果没有,它们之间有什么区别?任何基于网络的示例都将有所帮助
所以,我有简单的代码
QMap<QColor, int> colors;
for(int w = 0; w < image.width(); ++w)
for (int h = 0; h < image.height(); ++h)
colors[QColor::fromRgb(image.pixel(w,h))]++;
Run Code Online (Sandbox Code Playgroud)
错误消息是
不匹配'operator <'(操作数类型是'const QColor'和'const QColor').
因此,qMapLessThanKey尝试实例化两种颜色的比较器是不成功的,这是不可能的.
问题是:是否可以将QColor作为值存储在QMap中,而不是通过引用?
只是好奇.我知道如何以其他方式写出我想要的东西.但奇怪的是,在QT中我可以存储在地图中或不能存储的任何例外情况.
我有一个子类QTreeView。我需要使它看起来像QListView没有子项的空格(左角间距)一样简单。我该怎么办?Qt为4.7.4。已经尝试过setRootIsDecorated了,没有帮助。我已经尝试过QTreeView::setIndentation,但也无济于事。

我怎样才能转换IplImage为vector<uint8_t>.如果我将图像路径发送到以下功能,我可以转换它:
bool faceImg::load_file (const string &path, vector<uint8_t> &data)
{
data.clear();
std::ifstream is(path.c_str(), std::ios::in | std::ios::binary);
if (!is.is_open())
return false;
is.seekg(0, is.end);
size_t len = (size_t)is.tellg();
is.seekg(0, is.beg);
data.resize(len);
is.read((char*)data.data(), len);
return true;
}
Run Code Online (Sandbox Code Playgroud)
但是我想从相机捕获中重写IplImage的功能:
bool faceImg::load_image(IplImage *image, vector<uint8_t> &data)
{
}
Run Code Online (Sandbox Code Playgroud) 我有一个标准的Web API应用程序.让我们假设在一个动作中我想返回这样的响应:
public IHttpActionResult GetSomething()
{
var model = new Domain.OutcomingModels.Action[1];
return Ok(model);
}
Run Code Online (Sandbox Code Playgroud)
对于model我可以指定为a class或a的对象struct.从我的角度来看,没有理由喜欢struct过class,就性能.
该应用程序将每秒处理数百万客户端的请求.我关心的事情:
我对吗?
问题不在于类和结构之间的一般差异.它是将它们与类似Ok或BadRequest将C#对象转换为序列化对象的方法一起使用.我在问可能的警告.
c++ ×2
qt ×2
c# ×1
data-driven ×1
event-driven ×1
opencv ×1
paradigms ×1
performance ×1
qcolor ×1
qmap ×1
qtreeview ×1
windows ×1