You have a monolithic tightly bound application architecture for your application, and you want to move towards a better architecture by following the Single Responsibility Principle.
What can you do to achieve this?
Options
- You can do this by Identifying standalone logic and separating them into codebases that cannot communicate with each other
- Identify each discrete business capability and implement them as a service. No capability overlapping should occur
- Identify each discrete business capability and implement them as a service. Capability overlapping should be realized using mappings
- Identify each discrete business capability and implement them as a group of services. Capability overlapping should only remain inside groups