Software and Database Refactor Patterns
summary
Lists concrete refactor patterns and shows how they are used to break a monolith into microservices: implement an IPurchaseService abstraction, add a messaging layer and message handler, or proxy calls with a decorating collaborator. Demonstrates parallel run with a simple SQL comparison that compares order counts and uncovers multiple edge cases and previously unnoticed incorrect behavior. Recommends SQL Server change data capture or messaging (RabbitMQ Kafka AWS) for eventual consistency and incremental migration.
AI-written summary · about
chapters (24)
- 0:00Start
- 1:51Software Refactor Patterns
- 8:22Branch by Abstraction Pattern
- 9:08Branch Play Abstraction Pattern
- 14:55Change Data Capture
- 16:02Ui Composition
- 17:09Asp Net Mvc Controller
- 17:53Decorating Collaborator Approach
- 20:22Transitive Pattern
- 22:08Database Refactor Patterns
- 22:24Differences between Physical and Logical Database Separation
- 22:48Implementation Approach
- 23:27Splitting the Database First
- 24:47Splitting the Code First
- 25:47Splitting the Database and the Code
- 26:35Eventual Consistency
- 30:34Messaging Queue
- 31:13Mediator Pattern
- 32:07Database Pattern Is Shared Database
- 35:06Data Synchronization
- 36:18The Current Application as a Data Source
- 38:10Equipment and Software
- 44:18Add an Abstraction Layer
- 46:23Refactor the Business Logic Layer
related talks
58mModernizing an existing system to take a more domain-driven approach
01h 01mMonolith Decomposition Patterns
38mRefactoring Fat Models with Patterns
59mEffective Microservice Communication and Conversation Patterns
54mDesigning for change with Vertical Slice Architecture
39mConsidering Migrating a Monolith to Microservices?
25mData-Driven Migration from Monoliths to Event-Driven Microservices
28mPractical Microservices, Practical Whiskey
