l

o

a

d

i

n

g

.

.

.

GoF以外のプログラミング・デザインパターン 29種

eyecatch

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(拡張版) 処理を順に流すデータ処理フロー構造のパターン。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ