问题标签 [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.

0 投票
3 回答
603 浏览

c++ - 代码完成 2ed、组合和委托

在这个论坛上阅读了几周后,我认为是时候做我的第一篇文章了。

我目前正在重读 Code Complete。我想距离上次已经 15 年了,我发现我仍然不会写代码 ;-)

无论如何,在 Code Complete 的第 138 页上,您会发现这个编码恐怖示例。(我已经删除了一些代码)

史蒂夫认为不好的是这些功能之间的关系松散。或者他是否写过“员工和检查邮政编码、电话号码或工作分类的例程之间没有逻辑联系”

好的,我完全同意他的看法。也许像下面的例子更好。

在检查 zip 是否有效时,您需要执行类似的操作。

而那对于得墨忒耳法则来说是不好的。

因此,如果您想删除三个点中的两个,则需要使用委托和几个像这样的包装函数。

但是话又说回来,您的例程没有逻辑联系。

我个人认为这篇文章中的所有三个例子都很糟糕。这是我没有想到的其他方式吗?

0 投票
2 回答
639 浏览

wpf - 创建按需显示屏幕的 WPF 包装应用程序的最佳实践

背景: 我正在开发一个 WPF 应用程序,它将包含许多不同的“屏幕”。每个屏幕都包含一个又包含所有视觉元素的屏幕。一些元素触发事件(例如,复选框),屏幕具有单独的资源等。

主应用程序是围绕这些屏幕的“包装器”:它包含菜单栏、工具栏、状态栏等(在 DockPanel 中)和显示一个屏幕的空间。通过菜单栏,用户可以选择他想要显示的屏幕。

目标: 我想在主应用程序的空间中动态加载和显示和(事件)处理一个屏幕。我不想在所有不同的屏幕中复制和粘贴所有“包装”的东西。而且由于我有许多复杂的屏幕(大约 300 个 - 幸运的是自动生成的),我不想在应用程序开始时加载所有这些屏幕,但只能在请求时加载。

问题:

您推荐什么作为实现这一目标的最佳方式?
我应该使用和调查什么样的东西:页面或窗口或屏幕的用户控件?这会影响事件处理吗?

0 投票
2 回答
1067 浏览

wpf - 如何阻止属性值沿 xaml 中的元素树向下流动?

假设我有一些控件已被禁用。它包含一堆元素,但我希望其中一个子元素保持启用状态。

像这样的东西:

所以在本例中,Button 的 IsEnabled="True" 设置被其父级覆盖。有没有办法阻止这种情况发生?

这似乎是一件奇怪的事情,但我有一种情况,当一个控件被禁用并且用户将鼠标放在它上面时,我仍然希望触发一个事件。

我在 WPF Unleashed 中读到将某些内容包装在 Frame 控件中,“..将内容与 UI 的其余部分隔离 [和] 通常会在到达 Frame 时停止沿元素树继承的属性”,但包装了 Button在上面的示例中的 Frame 中不起作用。

我在这里走错了吗?

0 投票
3 回答
2025 浏览

video - 如何使用 gnlcomposition 连接视频文件?

我正在尝试将两个视频文件与 gstreamer 的 gnonlin 组件连接起来。

我正在使用的管道是

gst-launch-0.10 gnlcomposition { gnlfilesource name="s1" location="/home/s1.mp4" start=0 duration=2000000000 media-start=0 media-duration=2000000000 gnlfilesource name="s2" location="/home /s2.mp4" 开始=2000000000 持续时间=2000000000 媒体开始=0 媒体持续时间=2000000000 } !队列 !视频速率!progressreport name="合并进度" !ffmpeg色彩空间!ffenc_mpeg4 !ffmux_mp4 !文件接收器位置="/home/merge.mp4"

结果,在参数中指定的持续时间内,我只获得了第二个文件。尝试了几件事并在谷歌上进行了搜索,但我无法找出上述命令的问题。谁能指出我做错了什么?也欢迎任何其他基于时间将多个文件连接成一个文件的方式。

谢谢

0 投票
1 回答
328 浏览

ruby-on-rails - Rails 1.0 - 使用composed_of 给了我错误数量的参数(1 for 5)错误

我正在开发一个 Rails 1.0 应用程序(我无法升级,这是一种奇怪的情况),我正在尝试使用 :composed_of 功能。我有一个名为 StreetAddress 的类:

和一个名为 Hotel 的模型类

其中有列:

但是,当我尝试访问聚合时,出现错误:

为什么?

0 投票
1 回答
165 浏览

php - 我怎样才能实现这种关系(继承、组合、其他)?

我想为一个应用程序建立一个类的基础,其中两个是人和学生。一个人可能是也可能不是学生,学生永远是一个人。学生“是”人这一事实导致我尝试继承,但在我有一个返回 person 实例的 DAO 的情况下,我不知道如何使其工作,然后我想确定该人是否是一个学生,并为它调用学生相关的方法。

这显然是行不通的,但是达到这种效果的最好方法是什么?作文在我看来并不正确,因为一个人没有“有”学生。我不一定要寻找解决方案,而可能只是要搜索的术语或短语。由于我不太确定我要做什么,所以我运气不佳。谢谢!

0 投票
5 回答
6633 浏览

inheritance - 在我们需要向 List<> 添加行为的情况下,使用组合比继承有什么优势?

在这个例子中,选项 2 相对于 1 的优点/缺点是什么?

选项 1(继承):

选项 2(作文):

0 投票
7 回答
40931 浏览

java - Java - 接口实现中的方法名称冲突

如果我有两个接口,它们的用途完全不同,但具有相同的方法签名,我如何让一个类同时实现这两个接口,而不会被迫编写一个用于两个接口的方法并在方法中编写一些复杂的逻辑检查正在调用哪种类型的对象并调用正确代码的实现?

在 C# 中,这可以通过所谓的显式接口实现来克服。Java中有没有等效的方法?

0 投票
1 回答
24 浏览

design-patterns - How do you improve this design with chained AddX type of methods to construct object hierarchy from database?

Currently, I am dealing with multiple layers of composition in my application. We read data from database for ProductLocations and put them into a Solver object. In another query we read multiple SalesActivities connected to product locations which needs to be placed in an object deep within the correct ProductLocation object. I end up with chained AddSalesActivity methods as in the following code.

Over the years I have seen this kind of a structure in many of the applications I worked. Sometimes even with longer chains. I was thinking about it today and this smells like a subtle repetition. Any ideas on a different way of handling this? Is there a way to come up with a better design?

0 投票
2 回答
1663 浏览

.net - 是否可以参数化 MEF 导入?

我对 MEF 比较陌生,所以我不完全了解这些功能。我正在尝试实现类似于 Unity 的 InjectionMember 的功能。

假设我有一个导入 MEF 部件的类。为了简单起见,我们以下面的类作为导出部分的示例。

现在我想弄清楚是否可以在导入时为 Category 属性指定一个值。就像是:

目前,我正在做的是实现 IPartImportsSatisfiedNotification 并在代码中设置类别。但显然我宁愿把所有东西都整齐地放在一个地方。