Plainionist Journey of a Software Craftsman

An Introduction To Clean Architecture

Today I found a nice article on the NDepend Blog: An Introduction To Clean Architecture.

The post gives a nice introduction by first motivating clean architecture by looking at the short comings of the traditional layered approach. It then gives some history about the Clean Architecture. Finally the post briefly introduces the Clean Architecture itself - the circles and the dependency rule.

It was a nice read - looking forward to read the follow-ups.

More ...

Implementing Clean Architecture - What is a use case?

From Clean Architectures circles lets take out the 'use cases' one and deep dive into it.

Now that my architecture is screaming the business capabilities of my system let’s look at those with more detail.

In the Clean Architecture all the application specific business rules go into the use cases circle.

But what is a use case? How big should it be? How does it interact with its environment?

Read on!

More ...

Implementing Clean Architecture - Make it scream

How do I make my architecture “scream”?

According to Uncle Bob an architecture “screams” when it clearly expresses its core business purpose. The top level folder structure, the project/DLL names and the namespaces should express business aspects rather than frameworks or other details.

Athena is a web application implemented in ASP.NET MVC. But is this important? I could switch to Ruby on Rails or Node.js - it wouldn’t make any difference for the business. Why do we let such details impact our project structure so often?

More ...

Implementing Clean Architecture - An Overview

Let’s briefly summarize what the Clean Architecture is …

The Clean Architecture consists of multiple layers organized as circles while dependencies are only allowed from outer circles to inner circles. The inner circles contain the business logic. All details, devices and frameworks are in the outer circles.

More ...

How to implement the Clean Architecture?

Did you enjoy reading Uncle Bob’s Clean Architecture?

Book: Clean Architecture

I did! As with every book from Uncle Bob’s it is motivating and inspiring, right?

So let’s take his ideas and realize these in our projects to gain what he is promising!

But how do I start? How do I transform an existing code base - following a layered (web) architecture - into the Clean Architecture?

The Clean Architecture consists of multiple layers organized as circles while dependencies are only allowed from outer circles to inner circles. The inner circles contain the business logic. All details, devices and frameworks are in the outer circles.

More ...

Death by PowerPoint

Are you scared of doing presentations? Especially in front of a bigger audience? You don’t have to! Just don’t do these mistakes …

  1. Using corporate templates
  2. Having content packed slides
  3. Writing full sentences
  4. Focusing on the slides during presentation
More ...

Blogging with Jekyll - SEO

Are you missing readers on your blog? Don’t make this mistake …

… and forget about SEO!

More ...

The second habit

This week I had a discussion with a colleague of mine about stakeholder conform communication. The content of the discussion reminded me about the “2. Habit: Begin with the end in mind”.

This habit is one of seven from Stephen Convey’s great book The 7 Habits of Highly Effective People.

Book: The 7 Habits of Highly Effective People

More ...

MVVM pattern and dialogs

Every now and then I come across questions on how to handle dialogs in MVVM pattern with WPF. Honestly, most of the solution proposals I don’t like as they - from my perspective - somehow “violate” the MVVM pattern.

Here is how I handle dialogs with MVVM pattern …

More ...

Blogging with Jekyll - Legal and privacy

Legal and privacy topics don’t have primary focus on a blog but also such topics are important …

More ...

Blogging with Jekyll - Tags and Series

Now that I have my basic blog running I want to tune it a little bit …

More ...

Blogging with Jekyll - Basics

How did I set up the basics of my blog?

Of course there are endless very good posts out there about Markdown + Jekyll + GitHub Pages and I am not going to repeat what others already have nicely documented. So let me just summarize my setup and referring to others for more detailed explanations.

More ...

Blogging with Jekyll - Introduction

How could one blog the pragmatic, the minimalistic, the “plainionistic” way?

For me the answer is simple: Use the “power of plain text” and write posts in Markdown ;-)

More ...

Book Review: Domain-Driven Design

After having it on the reading list for a long time and having been reminded to read it by several other sources in the recent weeks I finally took the time get through

Book: Domain-Driven Design: Tackling Complexity in the Heart of Software

Domain-Driven Design: Tackling Complexity in the Heart of Software

First, I have to admit: not an easy read - at least not for me. Of course the book is well structured and for sure Eric knows what he is talking about but for me his language is more challenging to read as e.g. Uncle Bob - more advanced English, longer sentences … but finally i made it ;-)

Now lets focus on content!

More ...

Book Review: Clean Architecture

Book: Clean Architecture

Clean Architecture

As with every book by Uncle Bob it was fun to read it … so I finished it in 2 days ;-)

As the title states and in contrast to his other recent books this book is really focusing on architecture. He clearly describes what architecture is about and what good architecture is, from his perspective.

Even if you have read his Clean Architecture article already I strongly recommend reading the book. It goes much more into details and so brings more insights relevant when you try realizing Clean Architecture in one of you next projects …

More ...