问题标签 [composition]
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.
grails - Grails 中的组合:构造函数中的 addTo*
我在 Grails 中有以下简化模型:
- A
DataBlock
由许多已排序的ConfigPreset
对象组成。
在 ConfigPreset 我有
并且 DataBlock 类包含:
重载的构造函数返回:没有方法签名:[...].addToPresets() 适用于参数类型:(ConfigPreset) 值:[ConfigPreset : null]。
但是为什么我的 ConfigPreset 实例为空?如果我尝试使用未修改的 ctor 在例如 BootStrap.groovy 中创建一个 DataBlock 对象并在其上调用 addToPresets(...) ,它就可以工作。
c# - 视图之间共享数据的模式(MVP 或 MVVM)
在相关视图之间共享数据的好模式是什么?
我有一个应用程序,其中 1 个表单包含许多小视图,每个视图的行为或多或少彼此独立(它们通过事件总线进行通信/交互)。我经常需要将相同的对象传递给子视图。有时我需要将同一个对象传递给子视图,然后子视图将其传递给另一个子视图本身包含。
在父表单(视图)中包含的所有视图之间共享此数据的好方法是什么?
我研究了 CAB 及其方法,每个“视图”都有一个“根工作项”,该工作项的字典包含所包含的视图之间的共享“状态”。
这是最好的方法吗?只是一个共享字典,一个根视图下的所有视图都可以访问吗?
我目前的方法是在视图上有一个函数,允许为该视图设置对象。就像是
然后,如果视图包含一个子视图,它知道将其设置在子视图 ala 上:
该应用程序是用 C# 3.5 编写的,用于使用带有结构映射的 MVP 作为 IoC/DI 提供程序的 winforms。
php - 有什么办法可以在php中实现多重继承?
假设我有一个父类
这个父类有三个子类
这些子类还有更小的部分,比如
现在,如何总结这一切
我需要执行其继承类中的方法并执行类似的操作
$objparent = 新父级;$objparent -> foo();
wpf - 没有 Prism 的 WPF UI 组合
是否有任何替代 Prism 的 UI 组合(区域管理等)?
谢谢你。
inheritance - 组合、聚合和 DI
聚合:对象存在于其他对象之外,在外部创建,因此它作为参数(例如)传递给构造函数。例如:人——汽车。汽车是在不同的环境中创建的,而不是成为个人财产。
构图:对象只存在于对方内部,或仅在对方内部才有意义,作为对方的一部分。例如:人——心。你不会创造一颗心,然后将它传递给一个人。
这是否意味着对于 DI 框架,聚合是首选和更常见的方法,并提高了可测试性?
这是否也意味着可以通过使用聚合来缓解 C# 等语言中缺乏多重继承的问题。我一直听到有关“组合与继承”的讨论。是否有一个原因?
ruby - 在 ruby 中使用组合
我是新的 Ruby,但多年来一直是 .net 开发人员。我想在我的几个模型中实现组合,以确保它们尽可能松散耦合,但不知道从哪里开始,或者如果真的需要这样做,我仍然想像.net 开发人员一样。
谁能给我一些关于从哪里开始的指示。
干杯科林 G
scala - 如何使用规格测试框架从 Matcher[A] 组成 Matcher[Iterable[A]]
如果我有一个 Matcher[A] 如何创建一个 Matcher[Iterable[A]] 只有当 Iterable 的每个元素都满足原始 Matcher 时才满足。
wpf - 使用 MEF 动态构建选项卡式应用程序
我更喜欢 MEF,并计划用它来构建一个演示应用程序来加载不同的选项卡。我是 MEF 和 WPF 的初学者,尽管 MEF 正在加载程序集,但我仍然坚持将控件加载到我创建的 TabItem 中。我的代码看起来像这样..
标签是页面,所以我可能做错了,任何帮助将不胜感激。
提前致谢
c# - MEF:使用组合部分满足导出部分和导出部分
我在 Silverlight 4 中有以下场景:
我有通知服务
片段
以及此服务片段的实施
我怎么能对 MEF 说 ClientNotificationService 的 Plugin 属性必须由导入 INotificationsService 的导入类提供。
例如:
片段
我怎么能说我希望 MEF 使用 Client 类导出的 IPlugin 来满足 ClientNotificationService.Plugin 部分。
基本上,我希望 NotificationService 接收导入类提供的唯一 ID,无论何时它被创建并组合到一个新类,或者如果有其他方法,比如使用元数据来做到这一点,我会很感激任何见解。我已经为此苦苦挣扎了一段时间。
谢谢
language-agnostic - 公开成员(成员的成员,......)以使用组合在类中提供其功能的术语是什么?
更新:我最初的问题不是很清楚。我正在寻找像下面示例这样的代码违反的原则的名称。
(我更新了代码示例以更好地类似于我正在谈论的场景。我包含的原始代码示例可以在底部找到。这是一个选择不当的示例,因为它说明了一个实际上应该提供访问的层次结构任意“深度”级别的子成员,而且几乎与构图无关,这就是我要问的问题。)
我很确定这有一个术语,我只是想不出它。
错误代码示例:
更好的代码示例:
我很确定我听说过这个(直接公开一个成员对象,以便它的所有属性/方法都可以公开访问)被描述为一件坏事,因为[在此处插入原则名称]。我要找的词是什么?
(请注意,我不是在问为什么这是/不是一件坏事;我只是在寻找这个词,我这辈子都不记得了。)
原始(坏)代码示例: