以软件为鱼贩。为了销售某种鱼,用户界面显示了鱼的图片。用户可以点击它,然后弹出一个窗口,他可以在其中选择另一条鱼。
在简单的实现中,组件需要
解决方案1:沿.传递两个类,问题是我们的组件可以在另一个组件中。因此,这两个类必须传递给我们的组件,从而在整个地方创建依赖关系。
解决方案2:回调。使用回调的实现也不是很干净,因为组件可以在另一个组件中,并且事件必须传播到整个层次结构中。这需要对几个类进行更改。
对真正清洁的解决方案有什么建议吗?
发布于 2011-04-28 14:38:03
因此,这将是一种图片框,显示任何鱼被选中,并打开一个选择弹出当点击。
我想这个盒子将是一个更大的结构的一部分,它的工作是展示选定的鱼。也许有一个标签上有鱼的名字,另一个标签上写着鱼的大小。当选择鱼时,我会让它们的父组件设置它们的值。它将知道FishImageLibrary并能够根据fish检索图像地址。
对于弹出,我认为命令模式对于这类问题是非常标准的。它允许您将一个标准化的对象传递到图片框中,它不需要知道OpenSelectionPopup的实现细节,它本身就知道FishSelectionPopup以及如何打开它。
https://stackoverflow.com/questions/5819938
复制相似问题