Martin Fowler
Martin Fowler
commited date: 2025-11-18
-
技術的負債の4象限Technical Debt Quadrant #Blog Martin Fowlerが技術的負債が発生するケースを4象限で分類したもの。 Reckless(無謀) or Prudent(慎重) Deliberate(意図的) or Inadvertent(不注意) の2軸で分類する。 例えばリリース当初はクリーンなコードを書いていたつもりだが、1年後に本来正しかった設計が見つかった。のようなケースではPrudentかつInadvertentとなる Blog
-
アジャイルソフトウェア開発宣言#Agile Agile Manifest(ja) プロセスやツールよりも個人と対話を、 包括的なドキュメントよりも動くソフトウェアを、 契約交渉よりも顧客との協調を、 計画に従うことよりも変化への対応を、 Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas
-
Inversion of Control Containers and the Dependency Injection pattern#Blog #Software Design Martin FowlerによるDependency Injectionの概念を定義した記念碑的な記事(2004年1月23日公開) 背景 それまで軽量コンテナフレームワークは「Inversion of Control(IoC)」という用語で説明されていたが、Fowlerは「IoCはフレームワークの一般的な特性であり包括的すぎて混乱を招く」と指摘。IoC推進者との議論を経て、より具体的な「Dependency Injection」という用語を作成した 主な内容 DIの定義:別のオブジェクト(アセンブラ)が、クラスのフィールドに適切な実装を注入するアプローチ。サービス構成の責任と使用の責任を分離する 3つの実装パターン: Constructor Injection(コンストラクタ注入):PicoContainerで採用。オブジェクト生成時に依存関係を明示 Setter Injection(セッター注入):Spring Frameworkで採用。初期化後に依存関係を設定 Interface Injection(インターフェース注入):Avalonで使用。注入用インターフェースを実装 影響 この記事により「Dependency Injection」という用語が確立され、以降のフレームワーク設計やソフトウェアアーキテクチャに大きな影響を与えた。Spring Frameworkも当初は「IoC」を使用していたが、後に「DI」という用語を採用 https://martinfowler.com/articles/injection.html 日本語訳:https://kakutani.com/trans/fowler/injection.html
-
レポーティングデータベース#Martin Fowler #Data Store #Data Processing アプリケーションのドメインモデルに対応するテーブルとは別にレポート目的の中間テーブルを用意することで、レポートの関心を分離してテーブルに変更を加えることができる。 https://bliki-ja.github.io/ReportingDatabase
-
PofEAA#Software Design #Martin Fowler Patterns of Enterprise Application Architecture https://speakerdeck.com/dnskimo/pofeaadekao-erusaasbatukuendofalsezuo-rifang
-
Microservice Prerequisites#Blog #DevOps マイクロサービス設計でサービスを増やしていく前に、満たしているべき条件をMartin Fowlerが論じたブログ Microservice Prerequisites
-
抽象化によるブランチ#Martin Fowler #Continuous Integration BranchByAbstraction
-
ストラングラーフィグアプリケーションStranglerFigApplication #Continuous Integration Martin Fowlerによる理論。既存のシステムを置き換える際、既存のシステムの周辺に新規のシステムを追加していき段階的に置き換える。 イチジクの成長段階に似ていることからFigの命名を含んでいる。 原文はこちら
-
Blog/Conway's Law#Blog #Software Design #Team Organization コンウェイの法則についてMartin Fowlerが書いたブログ 逆コンウェイ戦略やDDDとの関連についても触れている https://martinfowler.com/bliki/ConwaysLaw.html
-
Blog/Microservice Premium#Blog #Software Design Martin Fowlerが2015年に書いたブログ 当時過熱していたマイクロサービス化ブームに警鐘を鳴らす形で、全てのケースにマイクロサービスが適するわけではない点が示された https://martinfowler.com/bliki/MicroservicePremium.html
-
Blog/Microservices#Blog #Software Design マイクロサービスについてMartin Fowler,James Lewisが2014年に書いたブログ マイクロサービスの9つの特徴について説明している https://martinfowler.com/articles/microservices.html