Introduction In the previous posts we learned about connascence and explained why it’s so important to understand for software developers and architects, we looked at all 5 levels of static connascence and different approaches to improve code quality. In this post we will focus on 4 levels of dynamic connascence and will take practical approach […]
Fixing Static Connascence
Introduction In the previous post we described connascence and explained why it’s so important to understand for software developers and architects. In this post we will show practical approach on how to fix different levels of static connascence. As to summarize, connascence has nine levels (five static and 4 dynamic). The higher level the less […]
Connascence, why is it so important?
Connascence metric has its own website https://connascence.io/ where you can find detailed description and examples. In this post we will show why connascence is very important metric, we will visualize, condense and summarize the concepts so they are fast and easy to comprehend. What is connascence? Before we can understand importance of connascence, let’s understand […]
How to make tests AWESOME
Some people may argue that automated tests are not worth of effort. But here is a kicker: time spent on creating and maintaining tests in many cases is completely justified by time saved on manual testing and re-testing. Another toll of not having automated test is cost of bugs (in time and money) caught late […]
Migrating Monolith to Microservice Architecture – Journey Continues
In the previous post we broke down the monolith into coarse-grained Macroservices based on their business domain purpose, that changed our architecture style from Monolith to Service based. We refrained from migrating to Microservices right after and decided to wait a little before taking next round. Now, as our application is stable and running smoothly, […]
Migrating Monolith to Microservice Architecture – the Path
If you have a large and scary Monolith and looking for a clear path of migration to modern Microservices, this post is exactly about that. We are going to take a Monolithic application and together, step by step, walk through migration process. Importantly, our application is going to be live in production at all times […]
Simple Domain-Driven Design – Building Blocks
If you are wondering what Domain-Driven Design (or in short DDD) is, why it is so useful technique and how it is applied this post will explain all if this. We will be working bottom up by looking at each DDD building block at a time and iteratively connecting them together in a cohesive mental […]
Why Not to write SQL Stored Procedures – Part 2
Previous part talked about why using Stored Procedures for writing business logic may be a bad idea. In this part we continue on this subject, but are going to look at the problem from architecture angle. Typical Stored Procedures based application Typical application which heavily uses SPs for business logic may look like this. Most […]
Why Not to write SQL Stored Procedures – Part 1
Stored procedures (SPs) have been a workhorse for several decades. They have been used for many reason. Some of the which can be justified, but some can lead to tremendous technical debt. The good of Stored Procedures Among justifiable reasons to write SPs are the following Performance. This is completely valid use of SPs. Fine […]