关于 Connection 的理解
在 iOS SDK 中开发感觉和 Windows 中的 Dialog Based Application 开发比较像,都是把一些页面元素拖动到窗口中,然后再写相应的代码。但是,为什么 Windows 中就没有建立 Connection 这个过程呢?是因为 Windows 中不需要建立吗?明显不是。页面元素如果与应用之间没有关联,是无法完成任何有效的操作的。答案是 Windows 中的 Connection 是 Visual Studio 帮我们建立好了。既然这样,为什么 Xcode 就不能帮我们建立呢?我的理解是为了解藕。
在 MVC 这个模式中 M 和 VC 的解藕是比较容易的。(如果 M 仅仅指 Data Model 的话。)但是 V 和 C 的解藕是比较困难的。由于 V 需要 C 来控制,所以通常他们之间的耦合是相当紧密的。就像在 Windows 中那样,V 和 C 基本是形影不离。而 Xcode 为了解决这个问题采用了建立 Connection 这个方法。这样可以对同一个 V 有多个不同的 C ,在不同的情况下可以选用不同的 C 来控制这个 V 。这也避免了为了控制 C 而过多的使用继承,就像在 Windows 中做的那样。在许多设计都尽量避免使用继承,我想也是为了解藕吧。