Androidのクリーンアーキテクチャに

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/Kennethdroid/article/details/90178944

元の記事は、最初の公開のマイクロチャンネル番号「浮動バイト」に登場しました

Androidのアーキテクチャは主にMVC、MVP、MVVMとクリーンを使用します。アーキテクチャ設計パターン上記のキーは、特定のアプリケーションシナリオに依存し、絶対的に良いか悪いかではありません。MVC、MVPとMVVMのプレゼンテーションについての詳細は、を参照することができMVC、MVP&MVVM

クリーンなアーキテクチャとは何ですか?

ロバートC.マーティン(アンクルボブ)

2012年に発表されアンクルボブによってクリーンなアーキテクチャは、アーキテクチャは、Webアプリケーションのために設計されています。

アンクルボブは共通してまとめ、およびシステム・アーキテクチャの様々な究極の目標、そして唯一の階層や依存ルールの原則を守る提案する、クリーン建築思想を提案しました。

クリーン・アーキテクチャの分析

片道依存性

クリーンアーキテクチャ、ロバートC.マーティンからの画像(アンクルボブ)

層の間のクリーンなアーキテクチャの依存関係は、外側の層が内側の層に依存して、単方向です。

MVP VSクリーン

Googleからの画像

Androidのは、実際にはより多くの人気のMVPアーキテクチャ変換であるフィギュア達成クリーンなアーキテクチャから見ることができます。

クリーンビューとプレゼンター層アーキテクチャプレゼンテーション層、新しいドメイン・レイヤーのすべてのビジネス・ロジックの処理として、MVP。MVP関数のモデル層は、外部データ層への唯一のインターフェイスとして、弱体化され、何のビジネスロジックはありません。一般的には独立したデータモデル各フロア。

プレゼンテーション層をきれいに

これは、次のカテゴリが含まれています。

  • 発表者層と関連クラスは、もちろん、あなたがMVVPフレームワークの基礎を変換することができます。
  • マッパークラスは、データモデル層は、プレゼンテーションデータモデルを変換ドメインに責任があります。
  • 例外クラスの封入層が存在します。

ドメイン層をきれいに

ドメイン層をきれいに

ドメイン層は、サードパーティのライブラリやライブラリのAndroidに依存しない、ユニットテストは、独立して行うことができます。

これは、次のカテゴリが含まれています。

  • ケース(インタラクタ)カテゴリを使用して、データ層に対する操作の完了を担当しています。(このような映画のリストへのアクセスとして、映画を取得する詳細情報ユースケース2やインターアクターとみなすことができます)。
  • マッパークラスは、データモデル層のData Domain層にデータモデルを変換するための責任があります。
  • 例外クラスの封入層が存在します。

データ・レイヤーをきれいに

データ・レイヤーをきれいに

ロバートC.マーティンからの写真(アンクルボブ)

この図は、すべてを説明するのに十分です。

これは、メインデータベース操作、データ操作、およびネットワークファイル操作、いくつかの珍しいクラスパッケージに対応する、様々なAPIインターフェースを含みます。
ネットワーク・データ・モデルを変換するための責任マッパークラスは、データモデルのデータ層です。

唯一の界面層は、データなしのビジネス・ロジックを提供していることに注意してください。

Androidのクリーンアーキテクチャの実装

クリーンなアーキテクチャとレトロフィット、RxKotlin、ダガーフレームワークベースの実装のAndroid AppのKotlin

参照

連絡先との交流

マイクロチャネル公共数
私の公共の番号
個々のマイクロ手紙
私のマイクロチャンネル

おすすめ

転載: blog.csdn.net/Kennethdroid/article/details/90178944
おすすめ