我目前正在对我的应用程序进行重构和重组。我已经意识到模型和视图之间的一些分离,以及它们的控制器已经减少,我希望做一些清理工作。
我的应用程序中使用了几个关键类:NSPersistentDocument、NSWindowController 和一个模型类。
NSPersistentDocument 类充当“模型控制器”;它拥有模型类的一个实例,并管理与模型的所有交互。
NSWindowController 类充当“视图控制器”;它拥有主窗口,并管理主窗口中视图的交互。此类也是定义 Window 的 nib 文件的文件所有者。
我在这里看到的问题是我没有真正的“控制器”。我目前的设计迫使模型控制器和视图控制器相互了解。两者之间没有冥想对象,因此,我的模型和视图没有明确分离,这使得支持多个视图或模型成为一个问题。
我想将两个现有控制器的功能移动到一个新的“控制器”类中,该类将充当模型控制器和视图控制器之间的控制器。最后,这仍然只是 MVC 设计模式,只是多了一点结构。
但是,我很难弄清楚这将如何适应 Cocoa 的基于文档的应用程序架构。
我最大的问题是在哪里以及如何创建这个新的控制器对象?这如何适应 Cocoa 的架构?我是否在与 Cocoa 的架构作斗争,有没有更好的方法来做到这一点?
谢谢。