GoF以外のプログラミング・デザインパターン 29種
① アーキテクチャ系パターン(システム構造レベル)
1. MVC(Model-View-Controller)
Model(データ)、View(表示)、Controller(制御)を分離して構成されるアーキテクチャ構造。
2. MVP(Model-View-Presenter)
MVCの「View」のロジックを「Presenter」に移してテストしやすくする。
3. MVVM(Model-View-ViewModel)
「View」と「データバインディング」を自動化するパターン(ReactやVueの基礎パターン)。
4. Flux / Redux パターン
単一の状態ストアと一方向データフローのパターン。
5. Layered Architecture(レイヤードアーキテクチャ)
Presentation、Application、Domain、Infrastructure、これらの階層化パターン。
6. Hexagonal Architecture(六角形アーキテクチャ)
アプリのコアを外部依存から切り離すパターン。(別名「Ports and Adapters」とも言う)
7. lean Architecture(クリーンアーキテクチャ)
Robert C. Martin提唱。依存の矢印を内側に限定するパターン。
② 並行処理・リアクティブ系パターン
8. Reactor Pattern
イベントループを使って非同期処理をさばくパターン。
9. Proactor Pattern
非同期I/Oの完了をハンドルするパターン。
10. Actor Model(アクターモデル)
各オブジェクトが「メッセージ」を送り合って非同期動作するパターン。
11. Observer + Reactive Stream(リアクティブ拡張)
FlowやRxJSなど、ストリームデータを購読して変化に反応。
③ ドメイン駆動設計(DDD)関連パターン
12. Entity / Value Object / Aggregate / Repository
ビジネスルールを明確に分離するためのモデリング手法のパターン。
13. Domain Service / Application Service
ビジネスロジックの責務を整理するための層のパターン。
14. Specification Pattern
条件(仕様)をオブジェクトとして表現・組み合わせ可能にするパターン。
15. Factory / Builder(DDD版)
複雑なドメインオブジェクトを生成する責務を外出しするパターン。
④ マイクロサービス・クラウド時代のパターン
16. Circuit Breaker(サーキットブレーカー)
外部サービスが落ちたらリトライを止めるパターン。
17. Retry / Timeout / Bulkhead
信頼性とスループットを保つための耐障害パターン。
18. Saga Pattern
分散トランザクションをローカル操作+補償処理で扱うパターン。
19. Event Sourcing
状態をイベント履歴から再構築するパターン(監査・再生可能)。
20. CQRS(Command Query Responsibility Segregation)
読み取りと書き込みのモデルを分離するパターン。
⑤ UI/UX系パターン
21. Stateful Widget Pattern
状態をコンポーネント内部で管理するパターン。
22. Container-Presenter Pattern(Smart/Dumb Components)
UIとロジックを分離するパターン。
23. Command Palette Pattern
ユーザー操作をテキストコマンドで統一するパターン。
⑥ その他のモダンパターン
24. Dependency Injection(DI)
依存を外部から注入するパターン。
25. Service Locator
依存オブジェクトを中央管理する仕組み。
26. Null Object Pattern
nullの代わりに何もしないオブジェクトを使うパターン。
27. Lazy Initialization / Proxy Cache
遅延ロードやキャッシュの最適化に使うパターン。
28. Event Bus / Pub-Sub
オブジェクト間通信を疎結合にするパターン。
29. Pipeline / Chain of Responsibility(拡張版)
処理を順に流すデータ処理フロー構造のパターン。
0 件のコメント:
コメントを投稿