CategoryArchitecture

The buzz around microservices

T

The term microservices has been humming around in the industry quite a long time now. Several articles and videos have been posted. People have been arguing about whether their services are true microservices or not on twitter and other social media streams. Lately Martin Fowler published an article about microservices which quickly led to discussions, flamewars and a lot of blog posts about this topic. Here is my personal opinion about the microservices architecture style. You have the right...

Logging in an onion architecture

L

In reaction to this post I received an interesting comment from valeriu. A very nice wrap-up about onion architecture, thank you for sharing the presentation! However, there’s a something that’s bothering me. Sometimes, you may have need to interact with some infrastructure parts from the inner layers. A good example will be logging – domain service may need to log some details or exceptions. How you would approach that? To keep the right direction for dependencies (if you’re really committed...

Chop onions instead of layers

C

This is the presentation handout for a presentation I gave at the bbv Techday 2013. Special thanks to Jeffrey Palermo for supporting me.  Chopping onions usually makes you cry. This is not the case in software architecture. In contrary! The onion architecture, introduced by Jeffrey Palermo, puts the widely known layered architecture onto its head. Get to know the onion architecture and its merits with simple and practical examples. Combined with code structuring by feature your software is easy...

What factors affect the speed of NServiceBus message processing?

W

I’ve heard that question a number of times during my projects and consultings I did for several customers. Normally that generic answers can only be properly answered with information about the non-functional requirements and Service Level Agreements a certain project has to fulfill. Without knowing about your specific situation it is generally difficult to give hard numbers about the performance you can expect with a single NServiceBus endpoint. But what exactly can influence the speed...

The repository anti pattern clarified

T

In my last post I showed the transformation from the generic repository to the unit of work pattern only. I received an interesting question in the comment section. Looks nice so far. But didn’t you mix up and simplify things a little bit too much here? For me the Repository is the separation of Domain Objects and Persistent Entities. It’s also a separation of the client from the used persistency technology (either NHibernate, EF, SharePoint, ADO.NET, WebService or whatever). As client side...

What is that all about the repository anti pattern?

W

There are a lot of discussions going on about the repository pattern. I also started one at the last usergroup meeting together with Julie Lerman. Generally the generic repository is considered an anti pattern as stated by Greg Young, he offers a solution by applying a composition pattern to maximize code reuse. Mike from SapiensWork even calls it a complete anti pattern. Ayende calls it since a long time the new singleton. Ayende also suggests in his older articles to either use directly...

Open Source Software and Medical Technical Projects

O

These are the slides with comments of my conference talk at MedConf 2012 in Lucerne: Software development without using open source software (OSS) is unthinkable in today’s world. This holds also for medical technical projects. This presentation is split into three parts. First we take a look at some myths and facts about open source software. Then at how to integrate an OSS into your project so it can be validated against regulatory requirements. And finally, we’ll see what is important when...

Structure your code by feature

S

cross-post from bbv blog
When software projects grow both in age and size the developers often struggle with the structure of the code. It gets more and more difficult to find the class you have to change for a new requirement. In this post, I’ll show you how we organize our code and how we derive our structure directly from the requirements.

Presentation: Agile Code Design – how to keep your code flexible

P

These are the slides along with some comments from a presentation I gave lately in the bbv .Net System boot camp – the yearly education week of my division in my company. Once upon a time, Agile Software development came to our software development country. Like a monster, Agile software methodologies scared the hell out of us. Suddenly, we had to find ways how to build software so that we could keep up with the high rate of change, just-in-time requirements and a sacrificial offering – a...

Recent Posts