草庐IT

delegating-constructor

全部标签

ruby-on-rails - Rails 为什么要使用委托(delegate)?

我目前正在学习delegate和Demeter法则,但我似乎找不到一个很好的例子来说明使用delegate的实际用处。我想找一个与我的项目相关的示例,因为我必须进行演示。我发现可能违反得墨忒耳法则的唯一代码行如下:@game.promotions.find_by_promo_type("cross")模型Gamehas_manyPromotions并且它正在跨另一个模型执行find调用促销属性promo_type。根据我的理解,这违反了Demeter法则,我应该通过使用委托(delegate)来解决这个问题:classGame:promotionend你能给我一个例子,说明除了“得墨忒

ruby - 用 method_missing 委托(delegate)的方法的数量

当我将类A的实例上的方法委托(delegate)给$delegation_target时,如下所示:$delegation_target=""classAdefmethod_missing*args,≺$delegation_target.send(*args,&pr)enddefrespond_to_missing?*args;$delegation_target.respond_to?(*args)endendA实例上方法的arity返回-1而不管方法的arity在$delegation_target上:def$delegation_target.foo;endA.new.m

ruby - 将域范围委托(delegate)与 Google API 结合使用时出现未经授权的客户端错误

我们使用谷歌APIRuby客户端和全域委派来更新用户的联系人,解析电子邮件以将它们与我们的数据库配对等。在4月1日之前一切正常,但是,从那以后我们得到unauthorized_client错误响应。Signet::AuthorizationError(Authorizationfailed.Servermessage:){"error":"unauthorized_client","error_description":"Clientisunauthorizedtoretrieveaccesstokensusingthismethod,orclientnotauthorizedfora

ruby - Delegator 通过 BasicObject 透明化

上下文:我正尝试在Ruby中建立装饰器模式。由于Decorator应该将所有未知方法委托(delegate)给底层对象,因此我使用了Delegator类。我本可以使用SimpleDelegator,但我想完全理解我在做什么。所以我得出的基本代码是:classDecorator这与SimpleDelegator的实现完全相同。看起来不错。但我不希望处理装饰器的代码知道它正在操纵装饰器。我想要完全透明。此时Decorator.new(Object.new).class返回了Decorator所以我稍微修改了一下,想出了这个:classDecorator这样,我可以安全地在装饰对象上使用cl

ruby - 委托(delegate)给类方法

在Ruby中是否可以委托(delegate)另一个类的类方法来替换下面的方法?defsugar(param)Klass.a_very_long_method_name(param)end我试过使用ForwardableextendForwardabledef_delegator'Klass.a_very_long_method_name',:sugar但是好像不行。我发现自己在很多地方都调用了Klass.a_very_long_method_name,我正试图把事情弄干。 最佳答案 require'forwardable'class

ruby - capybara ::dsl::模块的未定义方法 'delegate'

我有一个capybaramonkey补丁来处理jquery-ui,它在Ubuntu上运行得很好......虽然当移动到Windows时我得到以下错误(所有依赖性gem都已成功安装):capybara::dsl::module的未定义方法'delegate'发生这种情况的代码行是:moduleCapybara::DSLdelegate:datepick,:datetimepick,:timepick,to::pageend有什么想法吗?有点迷失了为什么仅通过切换操作系统就会显示此错误... 最佳答案 在标准的ruby​​中,委托(de

ruby-on-rails - Ruby on Rails - 如何委托(delegate)给多态关联?

是否可以在多态模型中使用delegate与has_many或has_one关联?它是如何工作的?classGeneric 最佳答案 不确定这是否与您想要做的完全匹配,因为很难从您的示例中看出,但是...classGeneric允许您说以下内容:generic.generable_common_method 关于ruby-on-rails-RubyonRails-如何委托(delegate)给多态关联?,我们在StackOverflow上找到一个类似的问题: h

c++ - 如何处理必须以异常安全的方式获取多个资源的构造函数

我有一个非平凡的类型,它拥有多个资源。如何以异常安全的方式构造它?例如,这里有一个演示类X包含A的数组:#include"A.h"classX{unsignedsize_=0;A*data_=nullptr;public:~X(){for(autop=data_;p~A();::operatordelete(data_);}X()=default;//...};现在这个特定类的明显答案是使用std::vector。这是个好建议。但是X只是更复杂场景的替身,其中X必须拥有多个资源,使用“使用std::lib”的好建议并不方便。我选择用这个数据结构来交流这个问题仅仅是因为它很熟悉。要一清二

c++ - 如何处理必须以异常安全的方式获取多个资源的构造函数

我有一个非平凡的类型,它拥有多个资源。如何以异常安全的方式构造它?例如,这里有一个演示类X包含A的数组:#include"A.h"classX{unsignedsize_=0;A*data_=nullptr;public:~X(){for(autop=data_;p~A();::operatordelete(data_);}X()=default;//...};现在这个特定类的明显答案是使用std::vector。这是个好建议。但是X只是更复杂场景的替身,其中X必须拥有多个资源,使用“使用std::lib”的好建议并不方便。我选择用这个数据结构来交流这个问题仅仅是因为它很熟悉。要一清二

javascript - 直接与委托(delegate) - jQuery .on()

我正在尝试使用jQuery.on()method来了解direct和delegated事件处理程序之间的特殊区别。.具体来说,本段最后一句:Whenaselectorisprovided,theeventhandlerisreferredtoasdelegated.Thehandlerisnotcalledwhentheeventoccursdirectlyontheboundelement,butonlyfordescendants(innerelements)thatmatchtheselector.jQuerybubblestheeventfromtheeventtargetup