2016-04-22 5 views
0

私はDDDでアプリケーションを作成します ドメインが明確に他のレイヤから分離されたクリーンドメインレイヤーを作成できます。iOSアプリケーションでクリーンプレゼンテーションレイヤーを構築する方法

しかし、プレゼンテーション層のコントローラは混乱しています。

ドメインが正常に分離されていても、ViewControllersには複数の責任があります。 AのViewControllerは、複数の責任を持っている傾向があるようにナビゲーション

  • として
  • Deleateなど、複数のドメイン
しばしばあり

と多くのViewControllersある上

  • 解析
  • アニメーション
  • アクセスわずかに異なる機能。

    テンプレートメソッドでそれらを作成しようとすると、ViewControllerの階層が複雑になります。

    テンプレートメソッドを使用しないテンプレートを作成しようとすると、いくつかの機能を共有する多くのViewControllerが存在します。この方法は変化する脆弱性があります。

    ベストプラクティスは何ですか? iOSアプリでクリーンプレゼンテーションレイヤを構築するにはどうすればよいですか?

  • 答えて

    2

    実際には、Cocoa MVCは、しばしば大規模なビューコントローラの問題を引き起こします。その解決策は、MVPまたはVIPERのようなよりきめ細かいアーキテクチャに移行することです。

    iOS上のMVPでは、ビューはUIViewController(または裸のUIView)で表されるため、UIViewControllerにはビジネスロジックが読み込まれなくなりました。

    MVP

    VIPERは、さらに多くの層を持っており、またUIのナビゲーションタスクを解決します。

    VIPER

    関連する問題