当前位置:  开发笔记 > 后端 > 正文

在XCode中组织iPhone MVC代码的标准方法是什么?

如何解决《在XCode中组织iPhoneMVC代码的标准方法是什么?》经验,为你挑选了1个好方法。

我有一个iPhone应用程序,包含几个视图及其相关的控制器.查看示例代码,我已经看到了组织这些文件的不同方法 - 将所有视图分组,然后将所有控制器分组,或者按功能对视图和控制器进行分组.

选项1 - 视图和控制器分开分组

-Views
  |
  - EditItemView.h
  - EditItemView.m
  - AddItemView.h
  - AddItemView.m

-Controllers
  |
  - EditItemViewController.h
  - EditItemViewController.m
  - AddItemViewController.h
  - AddItemViewController.m

选项2 - 按功能分组的项目

-AddItem
  |
  - AddItemViewController.h
  - AddItemViewController.m
  - AddItemView.h
  - AddItemView.m

-EditItem
  |
  - EditItemViewController.h
  - EditItemViewController.m
  - EditItemView.h
  - EditItemView.m

从MVC的角度看,选项1似乎更有意义 - 代码组合在一起,但我想知道随着应用程序增长到10多个视图和控制器,这是最合乎逻辑和可维护的吗?围绕这个是否有最佳实践建议?目前,我将是唯一一个维护应用程序的人,但不管是否会有多个开发人员,我希望尽可能多地使用最佳实践.是否有关于此的公布标准?



1> e.James..:

我正在研究一个大型的xCode项目.它不适用于iPhone,但我不认为这对于文件结构布局而言至关重要:)

我从选项#1开始,后来当文件数量增加时转移到选项#2.我倾向于通过"接口"对事物进行分组,即,与应用程序内特定功能区域相关联的所有源,然后在需要时为更大的部分创建子组.

就命名而言,我更喜欢使用尽可能少的类名称来识别模型,视图和控制器,因此我的类名看起来类似于:

AM_DillPickle  // model class
AV_Sasquatch   // view class
AC_DirtBike    // controller class

这仍然允许快速目视检查以查看类的类型(M,V或C),但它为名称的描述部分留出了更多空间.

我还发现指定一些不适合MVC模式的类很有用(喘气!):

AU_Helper     // utility class (text formatting, high-level math, etc.)
AD_Widget     // device class  (used to represent hardware drivers)

无论如何,这已经是你所要求的更多信息,但我发现命名问题与布局问题有关,因为真正的问题是:为大型xCode项目组织代码的最佳方法什么?

希望能帮助到你.以下是放在一起时的外观:

[+] Project
    [-] Target One
    [+] Target Two
        [-] Preferences
        [-] Login
        [+] Main Window
            # MainWindow.XIB
            # AC_MainWindow.h
            # AC_MainWindow.m
            # AC_DisplayScreen.h
            # AC_DisplayScreen.m
            [-] Home Screen
                # HomeScreen.XIB
                # AC_HomeScreen.h
                # AC_HomeScreen.m
                # AV_FancyDisplay.h
                # AV_FancyDisplay.m
            [+] Widget Screen
            [+] Other Screen

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有