# Mark Seemann Mark Seemann is a Danish software developer and author best known as the foremost authority on practical [[Dependency Injection (DI)]] in the .NET world (and beyond). He writes the long-running blog *ploeh blog* (https://blog.ploeh.dk), authored the canonical book on DI, and is a prolific speaker on functional programming, object-oriented design, and code quality. He coined and popularized the term **[[Composition Root]]** — the rule that an application's object graph should be wired in exactly one place, at the entry point. He's also responsible for one of the most precise critiques of the [[Service Locator]] pattern, naming it an antipattern on the grounds that it hides dependencies and undermines testability. ## Key Contributions - **Pure DI / "Poor Man's DI"** — championing manual constructor wiring as the default, with DI containers as a deliberate later choice rather than an automatic one. - **[[Composition Root]] pattern** — naming and articulating the discipline that all wiring belongs at the application entry point. - **Service Locator as antipattern** — the definitive argument against pulling dependencies from a global registry inside class bodies. - **Functional architecture in C# / F#** — bridging OOP and FP design, especially around using types to make illegal states unrepresentable. - **Property-based testing advocacy** — long-time proponent of FsCheck-style testing in mainstream codebases. ## Notable Books - *Dependency Injection in .NET* (Manning, 2011) — the original - *Dependency Injection Principles, Practices, and Patterns* (Manning, 2019) — co-authored with Steven van Deursen; the modern, language-agnostic successor - *Code That Fits in Your Head* (Addison-Wesley, 2021) — practical heuristics for sustainable software complexity ## Online Presence - Blog: https://blog.ploeh.dk (active since 2009; one of the most carefully argued software-design blogs) - GitHub: https://github.com/ploeh - Pluralsight courses on DI, encapsulation, and SOLID ## References - https://blog.ploeh.dk - https://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/ - https://blog.ploeh.dk/2011/07/28/CompositionRoot/ ## Related - [[Dependency Injection (DI)]] - [[Composition Root]] - [[Service Locator]] - [[Dependency Inversion Principle (DIP)]] - [[SOLID Principles]] - [[Martin Fowler]] - [[Robert C. Martin]]