草庐IT

visitor-pattern

全部标签

java swing 与 mvc : is this pattern indeed possible?

我是swing的新手,但设法创建了一个下降的gui。但我的问题是我无法应用引用/教程中建议的模式,主要是MVC模式。是我的问题,还是在JTree中使用SwingWorker,无法将controller/view/model明确分离?例如,我使用Swingworker,但我无法在设计中“安装”Controller。即控件的Action本质上是在内部的doBackground方法中,例如按钮的Action执行。所以没有Controller类。swingworker中的操作结果是更新一个Jtree,所以我将结果传递给一个我命名为model的类,但是这个类必须能够访问JFrame内部Jtree

seo - 需要特定国家/地区的关键字搜索详细信息

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭5年前。Improvethisquestion我想知道如何找到在特定国家/地区搜索特定关键字的人数。例如,我需要有关阿曼有多少人正在搜索“网络托管”的详细信息。

php - AJAX post后如何实现302重定向?尝试实现 prg-pattern

出于SEO原因,我正在尝试实现“postrequestget”模式,如本示例中所述:https://www.advertising.de/seo/wiki/prg-pattern.html我的实现包含一个伪链接元素,通过CSS设置样式就像一个链接:PRGLinktestjqueryAJAXPOST调用varrequest;$(function(){$('.redir-link[data-prg]').click(function(e){var$self=$(this);request=$.ajax({url:"/prg.php",type:"post",data:{url:$self.

C++ 模板元编程 : how to deduce type in expression pattern

我想要静态检查lambda的参数类型。我在下面编写了这段代码,它似乎产生了正确的结果。structB{};autolamBc=[](Bconst&b){std::coutconstexprautoArgType(R(ClosureType::*)(Arg)const)->Arg;templateusingArgType_t=decltype(ArgType(&T::operator()));//ArgType_tis"referencetoBconst"但是,我注意到,例如,标准库使用类模板特化从std::remove_reference中的引用类型中提取引用类型。所以我尝试了这种方法

c++ - 如何在树访问者中进行每个节点缓存

我有一个应用程序,想要计算通过bool运算(内部节点)组合的图元树(叶节点)的不同表示(网格、体素化、带符号距离函数...)。我的第一个方法是为每个不同的表示编写一个带有虚拟getter函数的抽象基类,并在各自的节点缓存中间结果,只要它们的子树没有变化(这会刷新它们缓存)。但是,我对树结构与每个不同表示的丑陋耦合不满意。为了缓解这种情况,我删除了抽象基类,而是为每个表示设置了一个访问者。这巧妙地将树与表示分离,但给我留下了一个问题,我现在需要在其他地方缓存中间结果,这就是我的问题开始的地方。长话短说如何在树的内部节点缓存(任意多种不同类型的)中间值而不使树依赖于值类型?我的方法需求提供

java - 最有值(value)球员 : : Event Bus pattern instead of Listener

这个问题更倾向于范式。为什么我们不在MVP环境中使用事件总线而不是监听器?通常,“P”部分具有View和模型引用的依赖注入(inject)。当然,这有一个优势,即通过Presenter显示View和模型之间的明确契约,这更具可读性。但是,让演示者从View中监听事件并且事件携带View有效负载(例如:json表示)不是一种更简洁的方法。演示者回话View也是如此。View将监听来自演示者的事件。主要优点是,我们不必为View和演示者之间的每个契约编写接口(interface)。如果您查看code你会看到演示者正在接触文本字段等View细节,我相信这会增加View和演示者之间的耦合。比如

c++ - 使用 boost::bind 和重载函数的访问者模式

我正在尝试将访问者模式添加到我的代码中,并希望尽可能保持通用。更具体地说,我不想将回调函数硬编码到我的accept函数中。因此,作为accept函数的参数,我给出了一个boost::function对象,然后由访问的对象调用它。然而,我的问题是我无法绑定(bind)到重载函数(因为boost::bind不知道要绑定(bind)到哪个确切的函数)并且我无法将重载函数转换为正确的函数,因为我不知道访问类的确切类型(这很重要)。有什么方法可以创造我想要的东西吗?我搜索了SO,但只发现了有关如何解决绑定(bind)问题的问题(这是通过转换,这是我做不到的)。下面是一些无法编译的代码,但显示了我

c++ - 从访问者更改 boost::variant 基础类型

我有一个模拟S表达式的递归变体:structsexpr{typedefboost::variant>>node_type;node_typenode;};我希望空列表始终由nil表示(不是list)。但是,我坚持执行push_back()访问者。当基础类型为nil时,我希望它将该类型更改为list并推回提供的值:structpush_back_visitor:publicboost::static_visitor{push_back_visitor(constsexpr&arg):arg_(arg){}templatevoidoperator()(constT&value)const{

c++ - 持有大量共享状态的访问者类 : best way to implement reference semantics?

这个问题大致基于使用Visitor的Boost.Graph库(BGL)-like模式来定制递归(搜索)算法。BGL按值传递访问者对象(类似于STL函数对象)和documentation州Sincethevisitorparameterispassedbyvalue,ifyourvisitorcontainsstatethenanychangestothestateduringthealgorithmwillbemadetoacopyofthevisitorobject,notthevisitorobjectpassedin.Thereforeyoumaywantthevisitorto

c++ - C++ 中的通用访问者基类模板 - 重载问题

我认为编写通用访问者基类模板会是一个简单的练习。目标是能够写typedefvisitormy_visitor;...然后让my_visitor成为功能上等同于的类型structmy_visitor{virtualvoidvisit(some_base&){}virtualvoidvisit(some_derived1&){}virtualvoidvisit(some_derived2&){}};我可以继承该类型层次结构的实际有用的派生访问者类,它根据需要覆盖不同的visit()版本。我希望它适用于具有任何继承关系的任意数量的类型,并且我不想使用任何使用type_info比较重新实现虚函