在通用应用程序上分离iPhone和iPad类有什么优势吗?

我有一个通用(为iPhone和iPad)应用程序。

在文件夹结构中分离iPad和iPhone类有什么优势吗?

这里是我的意思的一个例子:

- MyApp - Resources - Classes - iPad - SomeUniqueClassOnIPad.h - SomeUniqueClassOnIPad.m - iPhone - SomeUniqueClassOnIPhone.h - SomeUniqueClassOnIPhone.m - SomeUniversalClass.h - SomeUniversalClass.m 

这在Objective-C项目中很普遍吗?

编码中的一个规则就是永远不会有重复的代码,所以如果你的视图做了不同的事情,或者根据它的iPad或iPhone(例如不同的数据源)来处理数据,它肯定应该在不同的类中如果不是,那么不。 使用同一个class级。

有一件很常见的事情,你可以在这种情况下实现,它是一种帮助器,如果你愿意,它可以处理代码中所有常见的方法和操作。

黄金法则:写尽可能less的代码! 较less的代码==更容易维护,质量更高。 所以尽可能less编写代码,而不会影响您的要求。 此外,分割代码,使其更容易(单位)testing,从而更容易重新使用。

我希望能回答你的问题。

更新
我知道这里有一个术语,可以想一想。 有重复的代码被称为“干违规”。 DRY代表不要重复自己,这是软件开发的一个原则,旨在减less各种信息的重复,在多层体系结构中尤其有用。
更多信息: 维基百科上的DRY

对我而言,这取决于iPhone和iPad视图之间的通用性。 如果有单独的xib文件,但它们都包含相同的元素,则很容易决定使用相同的类。

如果iPhone和iPad的xib文件有独特的元素,那么分离类可能会更好。

另一种方法是创build一个由iPhone和iPad类共享的基类,用于您希望将它们分开的情况。 基类将包含它们之间通用的代码,例如,启动数据请求或共同的自定义视图。

Interesting Posts