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