Week 30, year 2021
- Feature Parity - On many occasions when my colleagues find themselves talking to IT executives they hear how the executives have a suite of aging applications built using soon to be, if not already end of life technologies. More often that not these systems are hosted in costly data centers managed by 3rd parties and with inflexible contracts. These applications are critical to the successful operation of the business, while at the same time being one of the largest sources of business and operational risk. One approach in this situation is to try to minimize the impact of replacement on the broader organization by 'simply' replacing the technology while leaving everything else 'as is'. Whilst Feature Parity often sounds like a reasonable proposition, we have learnt the hard way that people greatly underestimate the effort required, and thus misjudge the choice between this and the other alternatives. more… [Martin Fowler]
- Specification Pattern vs Always-Valid Domain Model - There’s an interesting controversy between two DDD topics: the Specification pattern and the Always-Valid domain model. [Enterprise Craftsmanship]
- Notes about C# records and Nullable Reference Types - In the last months, I spent quite some time playing with C# records and Nullable Reference Types. I was hoping that thanks to them, I would… [Event-Driven by Oskar Dudycz]
- Domain-Driven Refactoring: Extracting Domain Services - In my last post, we looked at the Compose Method refactoring as a means of breaking up long methods into smaller ones, each with an equivalent level of granularity. This is the refactoring in my applications I tend [Jimmy Bogard]
- An example: Integration Middleware Removal - To illustrate how these patterns work in practice, Ian, Rob, and James describe an example of how one of our teams used a number of Legacy Modernization Patterns to successfully replace integration middleware critical to the operation of their client's business as part of a larger legacy modernization programme. They combined patterns and refactorings to successfully manage risk to the business, and facilitate eating this particularly gristly part of the elephant. more… [Martin Fowler]
- Bloom Filters in EventStoreDB - How many new streams can be created per second in EventStoreDB? [Event Store blog]