# 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]]