Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.

Follow @CodeOpinion


Loosely Coupled Show: Software Architecture and Design

I’m excited to announce the Loosely Coupled Show, a new project I’m working on with James Hickey. Check out the YouTube Channel and subscribe! The premise is simple. To have discussions about software architecture and design. The target audience is intermediate to senior software developers. Episode #000 We recorded a quick video to kind of describe what the plan is for the show, check out our “first” episode for more about the show and us and our backgrounds. Loosely Coupled Show I’ve also posted a short video on my CodeOpinion YouTube channel to elaborate a bit more on the announcement,… Read More »Loosely Coupled Show: Software Architecture and Design

Avoiding the Repository Pattern with an ORM

For many years now I’ve advocated not using the repository pattern on top of an ORM such as Entity Framework. There are many reasons why that I’ll try and cover throughout this post based on ways that I’ve seen it implemented. Meaning, this post is talking about poorly implemented approaches or pitfalls that I’ve seen. To clarify, since this topic seems to really fire people up, I’m not saying that you shouldn’t use the repository pattern. I’m going to clarify why I don’t think under certain situations it’s very useful and other situations that I do find it useful. This… Read More »Avoiding the Repository Pattern with an ORM

4+1 Architectural View Model

It’s incredibly difficult to describe a complex system, regardless if you are developing a monolith or (micro) services. Use cases, code organization/navigation, interactions between services, and deployment/infrastructure are just some of the aspects that comprise the architecture of an entire system. Depending on your role as a stakeholder, your view of the system can be very different than another stakeholder. This blog post is in a series. To catch up check out these other posts: Context is King: Finding Service Boundaries Language Autonomous Services Focus on Service Capabilities, not Entities Context Matters There are many different stakeholders related to a… Read More »4+1 Architectural View Model