アーキテクチャ
#MVC
Model-View-Controller
Model
データやビジネスロジックを管理
View
#UI を担当する層
Model から受け取ったデータを画面に表示させる
Contrller
Model と View を仲介する層
ユーザからの入力を受け取り、適切な処理を Model に依頼
結果を View に反映させる
役割が分担することでコードの保守性が上がる
再利用性も上がる
#MVVM
Model-View-ViewModel
Model
データやビジネスロジックを管理
View
#UI を担当する層
#データバインディング という仕組みを用いて、View と ViewModel の間でデータの同期が自動的に行われる
ViewModel
View のためにデータを準備する層
Model からデータを取得し、View が表示しやすい形に変換、加工して提供
View と #双方向データバインディング を持つ
#クリーンアーキテクチャ
#関心の分離
ビジネスロジックに集中できるようにするアーキテクチャ
#オニオンアーキテクチャ
中心にビジネスロジック
外部からの依存関係を内側に向ける層構造のアーキテクチャ
ビジネスロジックと外部コンポーネントの分離が強調
#DDD
Domain Driven Designing
ドメインモデルとドメインの言語に焦点を当てる
#SSR
#CSR
#SSG
#ISR
Incremental Static Regeneration
#SSG と #SSR のハイブリッド
ページを徐々に更新できる
再デプロイせずに #スケーラビリティ を向上させる
#アイランドアーキテクチャ
独立したコンポーネントを個別にレンダリングする手法
必要な部分だけを読み込むことでパフォーマンスを向上させる
SOLID 原則
Single Responsibility Principle
単一責任の原則
クラスは一つの責任のみを持つべき
Open-Closed Principle
オープン・クローズドの原則
拡張に対してオープン、修正に対してクローズ
Liskov Substitution Principle
リスコフの置換原則
サブクラスは親クラスと置き換え可能であるように設計するべき
Interface Segregation Priciple
インターフェース分離の原則
クライアントは必要なインタフェースだけに依存するべき
Dependency Inversion Principle
依存性逆転の原則
高レベルモジュールは低レベルモジュールに依存せず、抽象に依存するべき
REST API