因此,根据我的理解(其中一个),Obj-C最大的诱惑是动态的消息传递运行时.
这个和其他功能对Cocoa开发有何益处?为什么Obj-C用于Cocoa开发而不是C++/C?
基本上我试图理解这些语言功能在实际解决OSX或iOS应用程序方面的特定问题时实际上是如何有益的.
在动态性较差的语言中,Cocoa框架的主要部分很难(当然不是不可能).在编译时绑定(方法调用)语言中,键值编码(使用动态调度和运行时类以及层次结构修改)很难做到.Core Data的属性getter/setter的合成是Objective-C动态消息传递(和动态运行时)的类似示例,使事情变得更加容易.
Objective-C的动态消息传递专门用于解决大型项目中的依赖性问题.虽然像C++这样的编译时绑定语言需要将依赖模块重新编译在一起,但Objective-C的运行时绑定消息传递意味着您不必总是重新编译所有内容.在NeXT决定使用Objective-C(当时是不成熟的C++)时,这是开发人员理智的一个主要因素.它仍然使大型系统更易于管理(但是,在C++或Java或者......中,这肯定不是不可能的).
| 归档时间: |
|
| 查看次数: |
1146 次 |
| 最近记录: |