2009-10-15 274 views
1

我刚刚完成了一个个人项目,并且我用来分解界面的一种技术是拥有一个主要的模型视图控制器,该控制器处理很多主要的逻辑应用。然后大多数情况下,有很多通用控件可以说一个Slider和一个Text域,它们被绑定在一个浮点值上。他们自己将构成父模型视图控制器将与之交互的另一个(模型视图控制器)。虽然沟通会缓慢下山,但从来没有自我反省的循环。模型视图控制器中的模型视图控制器

因此,一般来说,控制器会与绑定在一起的Slider和textField的控制器进行交互。但是两者都无法直接访问其他视图,因此,当Text事件的控制器出现事件时,它将由父控制器处理,该控制器将处理程序的大部分逻辑流,然后到达滑块和文本字段的控制器。

这个效果很好,得到了很多使用该应用程序的用户的非常好的反应,并且非常喜欢它带来的灵活性,它具有非常合理的重新调整控件,他们不必考虑。

尽管我的开发人员质疑设计的实用主义和纯粹性。该系统的设计是,我从这次的Adobe后浇筑采取了顶镇方法:

Adob​​e公司,通用算法 http://www.youtube.com/watch?v=4moyKUHApq4

,一般使用MVC的使用作为内部对象的对象反映了这个,而不是一个全局MVC控制器。

并建议我可以在下一个项目中进行改进,还是应该再次使用相同的方法?

回答

0

这是迄今为止最好的方式(即,直到有人提出了一个更好的方法):创建大量彼此知之甚少的小型MVC生态系统。

根据我的经验,在这种情况下可能遇到的最大问题是UI元素不会为您的控制器发送正确的信号。但作为一般概念,这是我们得到的最好结果。

1

此图案实际上有一个名称:Presentation-Abstraction-Control。不知道这对你有多有用,但我想我应该给你维基链接。

+0

谢谢,我甚至不知道,直到现在。我甚至读过设计模式书,但没有提到这一点。 – Chad