概要
.NET MAUIとCleanArchitectureの学習備忘録です。
簡単なWindows、Androidのクロスプラットフォームアプリを作成します。
バリバリの専門家が書く記事ではないことをご了承ください。
間違いがありましたら、ご指摘いただけると嬉しいです。
.NET MAUIとは
C#とXAMLでクロスプラットフォームアプリを作成できるフレームワークのことです。
.NET MAUI とは
CleanArchitectureとは
ソフトウェアアーキテクチャの種類ではなく、いわば変更に強いアーキテクチャ設計思想のことです。
簡単にまとめると、
・レイヤーで分けて関心事を分離しましょう(関心事の分離)
・依存の流れは一方通行にしましょう
・依存関係を逆転させて依存を制御しましょう(依存性逆転の原則)
ということ
クリーンアーキテクチャといえば下図ですが、
しっかりと理解するのは難しかったので、上記を概ね実現できればOKとします。
引用元:https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
レイヤーで分けて関心事を分離しましょう(関心事の分離)
なんでもかんでも一箇所で行うのではなく、異なる責務ごとに分けましょう、
他のコンポーネントへの影響を最小限にしましょう、ということです。
CleanArchitectureに限った話ではありません。
関心を分離することで、自然と疎結合になり、保守性、テスト容易性が高まります。
依存の流れは一方通行にしましょう
上図の円に描かれている矢印の向きにしか依存しません、ということ。
EntitiesがUse CasesやControllersに依存してはいけません。
依存関係を逆転させて依存を制御しましょう(依存性逆転の原則)
依存する側は、直接クラスや関数を呼び出すのではなく、抽象インタフェースを呼び出しましょう、ということです。
クラスAがクラスBを呼び出すには、
ではなく、
という流れになります。
まとめ
今回は.NET MAUIとCleanArchitectureの基礎知識を学習しました。
次は開発環境を作成します。
.NET MAUIとCleanArchitectureで簡単なアプリを作成してみる2~開発環境~