草庐IT

coupling

全部标签

ruby-on-rails - 在 Rails 应用程序中使用模块建模

我有一个模型需要从辅助源加载外部数据。存在许多Web服务,我的模型可以从中获取数据(可交换),但我不想创建会使更改服务变得困难的代码(成本因可变和固定使用而显着不同,并且可能会改变将是必需的)。我想创建一个驱动程序来执行交互(然后如果服务需要切换,则创建更多自定义驱动程序)。不幸的是,由于驱动程序和模型的紧密耦合,将代码提取到插件或gem中没有意义。我已将所有代码提取到一个模块中(参见示例),目前已在我的模型上方声明了代码。moduleSynchronizedefrefreshself.attributes=...self.saveendendclassDataRails(3.0.0)

javascript - 文本编辑器的 Redux 架构 : dealing with coupled state

我正在使用React/Redux构建一个在某些方面类似于文本编辑器的应用程序。它不完全是一个文本编辑器,但它是相同的通用范例。有一个用于放置新项目的光标。可以添加、选择、删除项目等。我正在努力寻找一种符合redux精神的最佳方式来构建我的reducer。我有单独的状态切片来表示选择状态、文本本身、光标状态和其他设置。我认为“redux”方法是为每个状态切片设置缩减器,独立地改变状态以响应Action。然而,在文本编辑器中,这些状态片比乍看之下更加耦合。当你按下一个键时,有时会在光标所在的位置添加一个字母,并且光标会向前移动。但是,如果选择了文本,则将首先删除所选文本。如果您处于“插入”

php - 松散耦合与封装。平衡设计的最佳方法

根据下面的例子:classInvoiceGenerator{functioncreate(Invoice$invoice){$invoice->create();}}classInvoiceGenerator{functioncreate($invoiceData){$invoice=newInvoice();$invoice->create($invoiceData);}}第一个示例在InvoiceGenerator和Invoice类之间较少耦合,因为InvoiceGenerator不需要Invoice类。另外,它不仅可以处理一个类,还可以处理整个接口(interface),只需很少

c++ - 自动实例化的智能指针

我正在寻找一种减少C++项目中header耦合的简单方法,这主要是由于(过度使用的)类组合,这当然需要完整的类型。例如://headerAclassA{Bb;//requiresheaderB};我也考虑过接口(interface)和pimpl,但是它们都暗示了一些我不想手动编写/支持的样板代码(或者有没有使之自动的方法?)。因此,我考虑过用一个指针和一个类似于classB*pB;的转发替换成员,但这需要处理对象的创建和删除。好的,我可以使用智能指针进行删除(虽然不是auto_ptr,因为它在创建时需要完整的类型,所以要说类似shared_ptrpB;这样的东西),但是现在如何进行对象

C++,从同一个原始对象复制的多个对象中的成员指针的 'coupling'

#include#include#include#includestructs_A{boolbin;s_A():bin(0){}};classc_A{public:s_A*p_struct;c_A():p_struct(NULL){p_struct=news_A[16];}voidReset(){delete[]p_struct;p_struct=news_A[16];}};intmain(){srand(1);intx=30;std::vectorobjects;objects.assign(x,c_A());std::vectorobjects_copy;for(intq=0;q不

c++ - 管理模块类的最佳选择

我的游戏库由一系列模块组成,按类组织,在需要时创建、更新和交互。一些示例可能是:CWindowManager、CGraphicsManager、CPhysicsManager等。我很惭愧不得不说我目前为它们使用全局指针(externCWindowManager*g_WindowManager;),而且我知道这可能是一件坏事。无论如何,问题是这些模块需要动态地创建和删除,当然要以正确的顺序进行。还有一个问题就是像CPhysicsManager这样的模块是场景依赖的,所以在切换场景的时候会被删除,然后重新创建。现在,我想不再使用全局变量来处理我的游戏中的模块。我不害怕重构,但我真的想不出什

c++ - 多态值得增加耦合吗?

我正在编写一个简单的游戏来学习更多的C++经验,我有一个想法,我觉得多态性几乎有效,但没有。在这个游戏中,Party通过Map相当线性地移动,但偶尔会遇到Fork在路上。fork(基本上)是一个std::vector.最初我打算将类似以下内容的代码写入aParty成员函数:if(!CurrLocation->fork_.empty())//Loopthroughforksandshowoptionstotheplayer,gowheres/hewantselse(CurrLocation++)但我想知道以下的某些变体是否会更好:CurrLocation=CurrLocation->ge

c++ - 当类想要耦合

我遇到了2个类的问题,这两个类曾经很好地分开,但现在他们想要耦合。在不深入了解问题的具体细节的情况下,这里是:我曾经有一个包含3个空间位置顶点的三角形类。classTriangle{Vertexa,b,c;//verticesa,bandc};程序中有许多Triangle实例,因此每个实例都保留了自己的顶点拷贝。getArea()、getCentroid()等成员函数写在类Triangle中,由于每个Triangle实例具有顶点a、b和c的拷贝,发现区域或质心不依赖于其他类。应该是这样!然后出于其他原因,我想转向顶点数组/索引缓冲区样式表示。这意味着所有顶点都存储在位于Scene对象中

mysql - mysql 查询 : couple of conditions matching in the same column

我的mysql数据库中有一张名为“events”的表:+-----+-----------+------------------------------+------------+|ID|CATEGORY|NAME|TYPE|+-----+-----------+------------------------------+------------+|1|1|Concert|music||2|2|Basketballmatch|indoors||3|1|Theatherplay|outdoors||4|1|Concert|outdoors|+-----+-----------+----

[机器学习] 3. 镜像下降 Mirror Descent 与线性耦合 Linear Coupling

MLTheory太魔怔了!!!!!我们来考虑更快的下降算法。对\(L\)-smooth的GradientDescent,我们有两种视角来看它。一种是局部视角,梯度方向相近的点的函数值一定会下降,另一种是全局视角,用一个二次函数为整个\(f\)提供了一个lowerbound。当局部梯度的范数很大时,函数值会下降的很快;当全局梯度的范数很小时,每一个lowerbound会更紧。所以我们考虑从两种视角出发分别设计一种策略,之后将两者耦合,以达到更快的速率。为了半形式化地描述两种视角,我们将GradientDescent一般化,称其为Mirrordescent。名字Mirror来源于原空间到对偶空间的
12