如何在iOS应用程序

时间:2016-04-22 12:44:24

标签: ios domain-driven-design presentation-layer

我用DDD制作应用程序 我能够制作干净的域层,哪些域与其他层明显分开。

但是演示层上的控制器很乱。

ViewControllers有多重责任 即使域已成功分离。 ViewController往往有多个职责,如

  • 导航
  • Deleate
  • 分析
  • 动画
  • 访问多个域等。

通常有许多ViewControllers功能略有不同。

如果尝试使用模板方法制作,ViewControllers的层次结构会变得太复杂。

如果尝试制作没有模板方法的那些,会有很多ViewControllers共享一些功能。这种方式容易发生变化。

有哪些最佳做法? 如何在iOS应用程序上构建干净的表示层?

1 个答案:

答案 0 :(得分:3)

在实践中,Cocoa MVC经常导致大规模视图控制器问题。解决方案是转向更细粒度的架构,如MVPVIPER

在iOS上的MVP中,视图由UIViewController(或裸UIView)表示,因此UIViewController不再加载业务逻辑。

MVP

VIPER有更多图层,也解决了UI导航任务。

VIPER