关于Cocoa依赖和MVC的问题

时间:2010-07-07 17:56:08

标签: cocoa model-view-controller dependency-injection

我是Cocoa开发人员的新手,除此之外,我知道很多模式。到目前为止,到目前为止,我理解MVC避免了模型,视图和控件之间的依赖关系。 好吧,我看了一些控制器的例子,我发现了一个显然不同意这个目标的行为。通常,在这些示例中,我发现控制器创建模型实例,换句话说,控制器明确地依赖于模型。对我来说,解决方案可能是使用工厂模式来避免控制器和模型之间的依赖。

你怎么看? 你是如何解决这个问题的?

1 个答案:

答案 0 :(得分:2)

在Cocoa中,控制器的作用是在模型和视图之间进行调解。模型和视图之间应该有一面墙,所以你可以换掉任何一个而不注意另一个;控制器横跨这堵墙,所以两者都知道。

所以,是的,控制器通常都知道模型和视图。在可可世界,这是正常的。

我从未发现“依赖注入”(例如,在模型/视图代码文件中隐藏控制器代码)或工厂模式(仅用于制作其他对象的对象)的良好用途。课程应该是独立的;扩展它们的类别应该是罕见的。至少在Cocoa中,类应该能够创建自己的实例。