在我的应用程序,我有几个组成部分,必须知道有关各方,例如菜单吧和一个工具条,两者需要知道关于表中添加或删除的工作还找出其工作的选择。

因此,我创建了一个称为对象 guiMediator 我传递给每个对象和他们自己注册用它,以便他们可以达到每一其他使用,对象。它还负责开火事件时,新的就业机会增加或背景的工人完成他们的工作。

因为它知道很多关于该系统,是这种类型的占用太多的责任在一个地方,或者这是正确使用的模式?

有帮助吗?

解决方案

通常我会使用该指令模式类似的东西:

  1. 用户点击"Foo"按菜单上吧,执行FooButtonClickedCommand.
  2. FooButtonClickedCommand做什么,它应该这样做,那么修改的图(菜单吧、表格,等等)适当。

所以你的命令知道所有你的图件,但只有一件事你看件需要知道的是其执行命令时给出的行动是通过用户。

其他提示

我会用一个被动的观,你可以读 在这里,.

  • 你会把每一种形式背后有一个界面
  • 每一形式将登记册本身与一个或多个UI对象
  • UI对象应该是自然的组织,如设置,入口,显示,等等。文字处理,可能只有一个UI对象的每个文件。虽然一个机控制器可能有多个目的,每个屏幕。
  • 该接口实现的薄壳穿上活动的UI的对象,并揭示的控制,画面UI对象。
  • 该UIObject然后采取的输入和数字出其命令对象的执行
  • 该命令对象将更新的模式,然后告诉一个或多个UI对象更新的视图。
  • 该UIObjects更新的意见。

注意,无处不超过UI接口知道关于钮扣,检查箱,等等。你使用的接口抽象的实际执行程。

这会给你几个优势。首先,它将文档你的代码是如何相互作用,给你一个地方实施模拟对象,以用于自动测试,最后允许更多的纬度在更改用户界面。

例如替换的点击板,而不是命令按钮。形式将然后就开始通过点击事件的板,而不是按钮。形式可能仍是无所知的实际命令每一个部件是应该做的。UI对象需要的照顾。

声音比其他更好...但是,嘿,我结婚至少难看姐姐; - )

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top