问题列表 - 第7109页

大多数对象不支持 COM 聚合吗?

我注意到很多关于COM的书籍等都指出,在COM聚合中实现一个可以用作内部对象的对象相对容易。但是,除非我遗漏了一些东西,否则聚合似乎只能在极其有限的场景中成功,因此只有在明确认识到这种场景时才应提供对它的支持。

困扰我的部分如下。COM 聚合将内部对象的标识与外部对象的标识组合在一起。外部对象的实现者选择内部对象接口的子集,并将对这些接口的请求转发给内部对象。内部对象将所有对接口的请求转发到外部对象。现在假设内部对象作为其实现的一部分构造子 COM 对象。据推测,一个接口指针被传递给该 COM 对象,以便它可以与其父对象进行通信。内部对象对其实现的接口有一些了解。然而,外部对象可能选择不转发其中一些接口。事实上,文档指出外部对象不应盲目转发接口。这似乎意味着内部对象通常不能将接口指针传递给其他 COM 对象,除非特别要求外部对象将所有这些接口转发给内部对象。这不限于子对象场景。实际上,内部对象实现传递接口指针的任何地方似乎都可能受到影响。

因此,聚合似乎不是通用目的,因为——在内部对象必须与其他 COM 对象通信的情况下——它对外部对象提出了严格的要求,即必须最少转发哪些接口,并且不能将更多接口添加到这个列表在内部对象的未来版本中不会破坏与不转发这些接口的现有外部对象的兼容性。

这是对事物实际情况的正确(并且很少被记录)描述还是故事有更多内容?

com aggregation

5
推荐指数
1
解决办法
822
查看次数

哪种方式更好的Web服务方式 - 合同优先或合同最后?

哪种是开发Web服务的更好方法; 合同第一或合同最后?
各有哪些优缺点?

你有哪些经验?

编辑 这个问题是关于Web服务的实现(读取:SOAP)问题是实现类是否应该首先编码,WSDL和XSD模式是从那里生成的(最后合同)还是首先编写的WSDL和XSD模式以及生成的实现类(合同优先)

web-services contract-first

13
推荐指数
2
解决办法
1万
查看次数

编程之谜:无需减法计数

好的,逐个目标:执行此操作的命令行应用程序:

Countdown.exe 7

打印7 6 5 4 3 2 1

没有任何形式的减法(包括使用减号)或字符串反转所允许的.

waaaaay显然太容易了:-)概述答案(至少原则)

  1. 通过添加和递归
  2. 通过使用modulo
  3. 通过推动和弹出,(也许是最明显的?)
  4. 通过使用溢出
  5. 通过使用反复试验(可能最不明显?)

puzzle

18
推荐指数
11
解决办法
5366
查看次数

副作用是好事吗?

我觉得这个词很贬义.因此,我对维基百科中的两句话感到惊讶:

已知命令性编程用于使用副作用来使程序起作用.反过来,功能编程因其副作用的最小化而闻名.[1]

由于我有点数学偏见,后者听起来很棒.副作用的论据是什么?它们是指失去控制还是接受不确定性?他们是好事吗?

procedural-programming functional-programming side-effects

28
推荐指数
7
解决办法
7489
查看次数

Eclipse有两个C/C++索引器(快速和完整):有什么区别?

Eclipse CDT为C/C++代码提供了两个索引器(Preferences> C/C++> Indexer).有谁知道这两者之间的确切区别是什么?

帮助文件并不完全具有启发性:

"CDT支持其他索引器的贡献,2个索引器提供默认CDT版本:

  • 快速C/C++索引器:提供最快的索引功能 - 声明和交叉引用信息.这是推荐的索引器.

  • 完整的C/C++索引器:以性能为代价提供更加准确的索引功能 - 包括声明和交叉引用信息."

准确的意思是什么:它是否会索引更多的东西,如果是这样的话?

c c++ eclipse indexer eclipse-cdt

13
推荐指数
1
解决办法
2万
查看次数

在C++中将数组作为参数传递

我正在编写一个合并排序函数,现在我只使用一个测试用例数组(没有输入 - 这是静态的,现在).我不知道如何将数组作为参数传递.这是我现在的代码:

//merge sort first attempt

#include <iostream>

#include <algorithm>

#include <vector>

int mergeSort(int[]);
int main() {
    int originalarray[] = { 1, 3, 5, 7, 9, 2, 4, 6, 8, 10 };
    mergeSort(originalarray[]);
}

int mergeSort(int[] originalarray) {
    int num = (sizeof(originalarray) / sizeof(int));
    std::vector < int > original(num);

    if (num > 2) {
        return num;
    }

    // Fill the array using the elements of originalarray
    // This is just for demonstration, normally original will be a parameter,
    // …
Run Code Online (Sandbox Code Playgroud)

c++ arrays sorting mergesort divide-and-conquer

13
推荐指数
2
解决办法
5万
查看次数

如果我删除了我的使用条款,如果删除的单位仍在其他单位中使用,它会有所不同吗?

我个人喜欢它,如果我的uses条款尽可能小,但在许多应用程序中,真正的大单位(在膨胀可执行文件方面)喜欢FormsVirtualTrees至少在另一个单位需要.

所以:如果我清理我的uses条款,即使最终没有从项目中移除任何单位,它会有所不同吗?如果真是这样,那么是以哪种方式?并且:清理uses条款应该尽快完成,还是等到我偶然找到一个未使用的单位?

delphi delphi-units

7
推荐指数
4
解决办法
783
查看次数

你如何翻转NSView的坐标系?

我在界面构建器中创建了一个NSScrollView,它具有可变数量的半唯一NSView,可以通过编程方式添加和删除它.当我将subViews添加到documentView时,它们出现在左下角而不是左上角.我看到你可以检查isFlipped bool来判断视图的坐标系是否被翻转,但我找不到将其设置为翻转的方法.

谁知道我错过了什么?

cocoa objective-c

28
推荐指数
3
解决办法
1万
查看次数

在轨道固定装置上的红宝石中自动关联

本文所述,我在fixture中使用自动关联.例如,如果某个区域对象具有国家/地区ID,而不是执行"country_id":1,则执行"country":"USA"."USA"是我的countries.yml文件中的标签,因此灯具知道如何处理这个问题.但是,这仅在您没有为countries对象指定ID值时才有效.所以我不能将美国的ID指定为1.但如果我不将它指定为1,它最终会成为一些大值8974343 ...这有点奇怪.有没有办法让灯具自动生成不是超高的id?....或者这样可以吗?

ruby ruby-on-rails fixtures

18
推荐指数
3
解决办法
1万
查看次数

MS Access(JET)是否适合多用户访问?

我有一个产品设计为使用MS Access文件作为数据库的桌面产品.

现在,一些用户需要将它安装在几台PC上(假设为2或3)并共享数据库.

我想将MS Access文件放在共享文件夹中并从PC访问它,但是...... JET Engine是为多用户访问而设计的?

有什么提示或事情需要注意这样做吗?

编辑:该应用程序是.net一个,使用数据库作为存储(不使用数据库作为前端)

ms-access multi-user

17
推荐指数
4
解决办法
1万
查看次数