问题标签 [adapter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
12921 浏览

c++ - 迭代器适配器仅迭代地图中的值?

在做了很多 C# 和最近的 Objective C 几年后,我才回到 C++。

我之前做过的一件事是为 std::map 滚动我自己的迭代器适配器,它将只引用值部分,而不是键值对。这是很常见和很自然的事情。C# 为这个工具提供了它的 Dictionary 类的 Keys 和 Values 属性。Objective-C 的 NSDictionary 同样具有 allKeys 和 allValues。

自从我“离开”以来,Boost 已经获得了 Range 和 ForEach 库,我现在正在广泛使用它们。我想知道两者之间是否有一些设施可以做同样的事情,但我找不到任何东西。

我正在考虑使用 Boost 的迭代器适配器来解决问题,但在我走这条路之前,我想我想在这里问一下是否有人知道 Boost 中的这种设施,或者其他现成的地方?

0 投票
13 回答
89697 浏览

design-patterns - 什么时候使用桥接模式?它与适配器模式有何不同?

有没有人在现实世界的应用程序中使用过桥接模式?如果是这样,你是如何使用它的?是我,还是只是适配器模式加上一点依赖注入?它真的值得拥有自己的模式吗?

0 投票
3 回答
4698 浏览

language-agnostic - 任何人都可以用很好的例子向我解释可插拔适配器的概念吗?

任何人都可以用很好的例子向我解释可插拔适配器的概念吗?

0 投票
7 回答
13424 浏览

c++ - 一个 C++ 迭代器适配器,它包装和隐藏内部迭代器并转换迭代类型

玩弄过这个我怀疑这是不可能的,但我想我会问专家。我有以下 C++ 代码:

我想将这些方法添加到容器中:

为了调用者可以写:

所以本质上我想提供一个类,它似乎在迭代 IInterface 指针的某些集合(不允许 Begin() 和 End() 的调用者看到),但实际上是在迭代指向其他指针的集合可以转换为 IInterface 指针的对象(专用于 Container 类)。

几个关键点:

  • MagicIterator是要在外面定义的Container
  • Container::Item必须保持私密。
  • MagicIterator必须迭代IInterface指针,尽管事实上Container持有一个std::list<Container::Item>. Container::Item包含一个Object*, 并且Object可以用来获取IInterface*.
  • MagicIterator必须可与多个类似于 Container 的类重用,但可能在内部具有不同的列表实现,其中包含不同的对象 ( std::vector<SomeOtherItem>, mylist<YetAnotherItem>),并且IInterface*每次都以不同的方式获得。
  • MagicIterator不应该包含特定于容器的代码,尽管它可以委托给这样做的类,前提是这种委托没有硬编码到内部的特定容器MagicIterator(例如,编译器会以某种方式自动解析)。
  • 该解决方案必须在 Visual C++ 下编译,而不使用其他库(例如 boost),这需要其作者的许可协议。
  • 此外,迭代可能不会分配任何堆内存(因此没有new()malloc()在任何阶段),并且没有memcpy().

感谢您的宝贵时间,即使您只是在阅读;这个真的一直困扰着我!

更新:虽然我得到了一些非常有趣的答案,但还没有一个满足上述所有要求。值得注意的是,棘手的领域是 i) 以某种方式将 MagicIterator 与 Container 分离(默认模板参数不会削减它),以及 ii) 避免堆分配;但我真的在寻求涵盖所有上述项目符号的解决方案。

0 投票
1 回答
36156 浏览

android - Android:BaseAdapter 怎么用?

好的,我一直在搜索,并且在实现 BaseAdapter 时遇到了一些问题。

根据上面的示例,我已经能够实现一个简单的光标适配器 http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List7.html 。

这里有一个很好的 BaseAdapter 示例:List14 google example

我想使用 BaseAdapter 创建我自己的列表适配器来显示一个列表视图,其中包含来自数据库的多个项目。我知道这可以使用简单光标适配器来完成,但我希望以不同的方式处理行,所以我希望能够通过覆盖 getView 来绘制每一行。数据将从游标中提取。

我知道这段代码很难获取游标数据,但假设我已经填充了一个游标。如果第 8 列包含图像资源 ID,您对此有何建议。:

你有使用光标绘制 BaseAdapter 的好例子吗?

0 投票
1 回答
4737 浏览

android - Android BaseAdapter:位置不是真正的位置?

当我使用 a 的列表视图BaseAdapter离开屏幕时,每一行不再保持连续的位置。除了这个,我不知道还能怎么解释。

如果我的 BA/LV 在屏幕上显示 4 个项目,并且我添加了一个显示每一行的 TextView 的视图,它会显示 0、1、2、3 的行号(这是正确的)。但是,一旦我将列表向下滚动到底部的 4 项(第 5-8 项),它就会显示为 4,5,0,1?? 为什么?

编辑: 我确实发现如果我改变

rv = (RowView) convertView;

它可以工作,但是它没有重新使用代码。所以,我想我是在正确的轨道上。我确实尝试了一些方便的方法,但这对我没有太大帮助,因为我需要在构造函数触发之前设置这些值。我是否需要创建一个新方法并在最后触发它?比如addRow方法?这也导致它滚动非常慢。

0 投票
2 回答
598 浏览

performance - 使用 BizTalk Server 2006 的 TCP/IP 适配器时出现窒息

我正在使用从 codeplex 获得的用于 BizTalk Server 2006 的 TCP/IP 适配器:http: //www.codeplex.com/BTSTCPIP
一旦应用程序部署到生产环境中,我们就开始体验到应用程序性能的阻塞。请求越多,性能下降越多。
有时,接收端口会变得无响应,我们必须强制重启主机实例以暂时让服务再次响应,但我们一次又一次地遇到相同的问题。我想问一下你们中是否有人使用过相同的适配器并且遇到过类似的问题?如果是,我们如何克服这些问题。

谢谢。

0 投票
1 回答
234 浏览

asp.net - 动态设置控制适配器

在 ASP.Net 中有没有办法动态设置控制适配器?应用控制适配器的标准方法是通过“.browser”文件。但是,我有一种情况,我想在某些情况下使用控制适配器,而不是在其他情况下 - 我找不到实现此目的的方法。

任何帮助表示赞赏。

0 投票
1 回答
1671 浏览

soap - BizTalk 2006 SOAP 适配器 - 仅消息传递 Web 服务调用

在 BizTalk 2006 中,我试图设置一个仅消息传递的方案,由此将接收到的消息(字符串)传递给采用单个字符串参数的 Web 服务方法。换句话说,应该将 BizTalk 消息的整个正文作为参数传递给 Web 服务调用。

服务方法如下所示:

我已根据需要在 SOAP 适配器配置中设置了带有代理类的程序集,但我不知道如何获取要作为参数传递的消息体。没有做任何特别的事情,我收到以下错误消息:

使用命名空间“”将消息部分“auditEventMessage”序列化为“String”类型失败。

我认为这意味着适配器找不到以参数命名的消息部分。所以,我的问题是我需要做什么才能正确设置我的消息?我在想也许我需要添加一个出站地图,但不确定将什么用作源模式以及如何为 Web 服务请求消息生成适当的模式。

有人对这个看似简单的任务有任何指示吗?

谢谢。

0 投票
4 回答
1930 浏览

vb6 - VB6 表单高度/宽度被命令行构建忽略

我们正在尽快退出 VB6,但与此同时,我们已经开始在构建服务器上从命令行构建我们的 VB6 应用程序。

问题:构建服务器有一个基本的视频适配器,并导致表单被截断为基本适配器的分辨率,而不是表单本身的高度和宽度。

我们发现的一种解决方法需要进入每个表单的加载事件,并在“表单属性”窗口中手动将“高度”和“宽度”属性设置为观察到的大小。

啊..

此应用程序涉及数十种表单,更多应用程序将提供更多数十种表单。我想构建一个脚本来处理这个问题。

两个问题:

1)我在代码/项目/等中的哪里可以找到“属性”窗口中显示的表单的高度和宽度?搜索 *.frm 文件并没有找到任何赢家;也不会打开 *.frx 文件并将已知的高度或宽度转换为十六进制(然后搜索)。

2)除了编辑每个表格之外,我还能做些什么吗?

提前致谢。

乔恩