ter*_*tyl 3 c# iphone objective-c
您喜欢Objective-C的哪些方面以及为什么(特别是与C#比较)?与C,C++和Objective-C等旧语言相比,C#在路上失去了一些东西
drh*_*ris 11
我想说最大的好处之一是Obj-C需要的显式内存管理.至少,有一个垃圾收集器,但你必须故意选择加入.我无法告诉你我在C#中遇到了多少线程死锁和内存泄漏,因为我希望GC能为我完成我的工作.它教给我的是在C#中实现几乎所有的类IDisposable.没有任何对象应该假设妈妈会为他打扫房间.
而不是"方法"的概念,"消息传递"似乎对我来说更加现实.您向对象发送消息,告诉它该做什么.它主要是语义,但它可以使你设计类的方式有所不同.
有些人认为obj-c消息的冗长风格是一个缺点,但我个人喜欢它.我可以查看一行代码,并立即知道所有参数的用途,而无需查阅元数据.在类似句子的构造中,它几乎就像Ruby,只是不那么简洁.例如,查看一个类是否是另一个类的子类对于陌生人来说是非常容易理解的:
[animal isSubclassOfClass:organism]
Run Code Online (Sandbox Code Playgroud)
此外,这种冗长的语法开始让您真正考虑如何设计您的程序,以最大限度地减少构建的残余数量.我认为我在Objective-C中的类比C#中的类更小,更有目的性.构建充满方法的巨型超类并不容易.因此,它促进了良好的设计.
当主要用于部署软件的技术存在作业时,存在问题.作为开发人员,我应该能够通过单击按钮来干净地打包,并准备好供我的客户使用.C#是一场噩梦,虽然其中很大一部分与Windows的构建方式有关而不是OSX,但他们可以从Apple那里学到很多东西.使用XCode进行包装非常简单.它不是一种语言功能,但是当它实际部署您所编写的内容时,它会发挥重要作用.花时间编写好的软件,而不是安装程序.
同样,这不像IDE功能那样真正的语言功能,但它应该包括在内.Interface Builder从上到下推广MVC.通过设计,表示逻辑100%与控制器或模型逻辑分离.而且,它很容易使用.
| 归档时间: |
|
| 查看次数: |
253 次 |
| 最近记录: |