Skip to content
This repository has been archived by the owner on Dec 21, 2024. It is now read-only.

Latest commit

 

History

History
46 lines (35 loc) · 2.26 KB

Architecture.md

File metadata and controls

46 lines (35 loc) · 2.26 KB

設計メモ

基本方針

  • 構造面
    • 役割毎にモジュールを分割し、その組み合わせでアプリを構築する
    • 式年遷宮できるように、なるべく置換しやすい単位で実装する
  • 何かしらのインスタンスを生成する場合は、システム的に正しい状態になるように実装する

適用する設計パターン

基本的にはModel-View-ViewModel(MVVM) ですが、各階層をより細かく管理していくために、下記の概念を追加する。

  • Model
    • Entity -> システムのデータ定義
    • Repository Pattern
    • UseCase -> システムでどうデータを取り扱うかの定義
  • View
    • Atomic Design
    • Navigation Pattern

Architecture

色々な設計パターンで整理すると、下記となります。

モジュール パス Atomic Design Clean Architecture MVVM 備考
app ./ - - アプリ本体
app atoms/ atoms V
app molecules/ molecules V
app organisms/ organisms V
app pages/ pages V, VM 各画面実装
app repositories/ - M
app templates/ templates V
app_core entities/ - 中心 M 取り扱うデータの定義
app_core usecases/ - 中心 M 取り扱い方法の定義
github_connector ./ - M GitHub とのデータ交換方法の定義

設計パターンを支えるライブラリ