2016-10-02 183 views
-1

开发我的第一个IOS应用程序。IOS应用程序体系结构

关于平台 1.使用Restful(JSON)服务。 2.构建多个客户端应用程序,实现一些重叠的不同功能。

架构 Diagram for the architecture

实施 1.使用的CocoaPods。 2. Infra POD/FRAMEWORK可容纳整个Infra层和横切层。 3.域POD/FRAMEWORK包含CoreData数据模型和使用ActiveRecord模式实现的模型类。 4.每个功能作为单独的POD /框架。 (单故事板+多视图控制器) 5.每个应用程序声明所需的PODS(Infra + Domain + Feature/s)并创建必要的导航流程以访问所有功能。处理验证。

问题 1.这可能吗? 1.我是否过度设计了这个?我应该从一个简单的单个文件夹应用程序开始,而不是针对某种结构(可能是上面的或完全不同的东西)? 2.任何人都有这样的结构?任何我应该注意的坑洞? 3.是否有任何性能影响?有很多框架阻碍启动时间?我可以采取任何措施来减轻这种情况。

P.S. :我的UML很糟糕。忽略上述模型中的任何UML相关问题。我只是不知道macOS上的简单绘图工具。

+0

嗨,恐怕在一个广泛的“最佳实践”问题的多个问题是不适合的对于堆栈溢出,其中一些*可能会在http://programmers.stackexchange.com上的主题,当单独询问时,但我不确定,请务必首先检查他们的常见问题 –

+0

听起来就像你试图聘请一个研究团队,没有解决一个编程问题 –

+0

Reuse&DRY是我努力的两件事情,我会以积极的态度对待你的评论,因为我已经过度设计了这个问题,但是我总是发现把事情扔掉然后让它们变得容易所以现在是时候抛出一些东西了。:) – Shrep

回答

0

我要尝试回答这个问题:

你不必一开始就在年初极端代码分离和不同的吊舱。如果您以正确的方式构建您的代码,只要您真的需要,您可以轻松分开这些部分。 尽量忠实于以下几点,你不会有麻烦重用代码:

  1. 不要混合你的业务逻辑(网络代码,数据库,数据持久性,数据处理等)与您的视图控制器。尝试为每项工作分别制作经理。

  2. 不要复制代码! (如果你有,重组它,使所以你不需要复制)

  3. 尝试的工作真的面向对象(创建用于保存和存储数据对象,请求等等等等)

  4. 尝试只有在必须维护的情况下才使用框架。最好的办法是坚持苹果的框架,因为你知道支持将不会在某个时间点停止

+0

谢谢你的时间和 注释。我尝试了上面的结构,它确实工作(令我惊讶的是)像你提到的那样,对于非常简单的事情来说它可能太复杂了。也谢谢你的建议。我一定会记住他们。 – Shrep