<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/ploeh" -->

---
title: ploeh blog posts | daily.dev
description: Authored by Mark Seemann, a software architect and consultant, this blog focuses on software design, object-oriented programming, and functional programming principles. Readers can explore articles and discussions on topics such as dependency injection, domain-driven design, and test-driven development. Additionally, they can learn about architectural patterns, design patterns, and best practices for building robust, maintainable software systems.
canonical: https://daily.dev/sources/ploeh
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/ploeh
og:type: website
og:site_name: daily.dev
og:title: ploeh blog posts | daily.dev
og:description: Authored by Mark Seemann, a software architect and consultant, this blog focuses on software design, object-oriented programming, and functional programming principles. Readers can explore articles and discussions on topics such as dependency injection, domain-driven design, and test-driven development. Additionally, they can learn about architectural patterns, design patterns, and best practices for building robust, maintainable software systems.
og:image: https://api.daily.dev/og/sources/ploeh.png
og:image:width: 1200
og:image:height: 630
---

![ploeh blog logo](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/0645fe7a0b9f40ba9ef17f7a7b49e893)

# ploeh blog

FollowFollowBlock

Authored by Mark Seemann, a software architect and consultant, this blog focuses on software design, object-oriented programming, and functional programming principles. Readers can explore articles and discussions on topics such as dependency injection, domain-driven design, and test-driven development. Additionally, they can learn about architectural patterns, design patterns, and best practices for building robust, maintainable software systems.

Related tags:

[#llm](/tags/llm)[#backend](/tags/backend)[#sql](/tags/sql)[#architecture](/tags/architecture)[#ai-coding](/tags/ai-coding)[#technical-debt](/tags/technical-debt)

[Posts about llm](/tags/llm)[Posts about backend](/tags/backend)[Posts about sql](/tags/sql)[Posts about architecture](/tags/architecture)[Posts about ai-coding](/tags/ai-coding)[Posts about technical-debt](/tags/technical-debt)

[Why use ORMs if LLMs write code?](/posts/why-use-orms-if-llms-write-code--swri5tplk)[Does code quality still matter?](/posts/does-code-quality-still-matter--az8tkl4ww)[Worse is better: JSON versus XML](/posts/worse-is-better-json-versus-xml-wquafpzkq)[Worse is better](/posts/worse-is-better-4qhhfmaei)[Motivated reasoning](/posts/motivated-reasoning-86mdezsoz)[In defence of bureaucracy](/posts/in-defence-of-bureaucracy-lpaihfvh5)[Secret agentic AI](/posts/secret-agentic-ai-pmt2j5roz)[The hailo effect](/posts/the-hailo-effect-jiyfsxce3)[Programming languages for AI](/posts/programming-languages-for-ai-knuqwjcd2)[Will you go to prison for an AI?](/posts/will-you-go-to-prison-for-an-ai--pheo5pflo)

## Most upvoted posts from ploeh blog

## Best discussed posts from ploeh blog

## All posts from ploeh blog

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/sources/ploeh#organization","name":"ploeh blog","url":"https://daily.dev/sources/ploeh","logo":{"@type":"ImageObject","url":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/0645fe7a0b9f40ba9ef17f7a7b49e893"},"description":"Authored by Mark Seemann, a software architect and consultant, this blog focuses on software design, object-oriented programming, and functional programming principles. Readers can explore articles and discussions on topics such as dependency injection, domain-driven design, and test-driven development. Additionally, they can learn about architectural patterns, design patterns, and best practices for building robust, maintainable software systems."},{"@type":"CollectionPage","@id":"https://daily.dev/sources/ploeh#page","url":"https://daily.dev/sources/ploeh","name":"ploeh blog posts on daily.dev","description":"Authored by Mark Seemann, a software architect and consultant, this blog focuses on software design, object-oriented programming, and functional programming principles. Readers can explore articles and discussions on topics such as dependency injection, domain-driven design, and test-driven development. Additionally, they can learn about architectural patterns, design patterns, and best practices for building robust, maintainable software systems.","about":{"@id":"https://daily.dev/sources/ploeh#organization"},"isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"ploeh blog"}]}]}
```

