Design system solutions using modern architectural patterns and practices. This book discusses methods to keep a system responsive, even when it is being constantly updated, extending a system's functionality without changing the core code, methods of maintaining data history, and designing a distributed transactional system.
This book will guide you in understanding how a software solution is designed using different architectural processes and scenarios. Each scenario explains if and why a software solution is required to resolve a given issue, and discusses possible architectural approaches to solve the problem. You will learn specific implementations of software architecture for each case along with different approaches to achieve the solutions. Each chapter is structured as a real-world requirement from a client and describes a process to meet that requirement.
After reading this book, you should have a high-level understanding of the architectural patterns used in the book, and you should have a methodology for approaching system design.
What You Will Learn
Who This Book Is For
Developers who wish to move into architecture, and junior software architects also will find the book useful
This book will guide you in understanding how a software solution is designed using different architectural processes and scenarios. Each scenario explains if and why a software solution is required to resolve a given issue, and discusses possible architectural approaches to solve the problem. You will learn specific implementations of software architecture for each case along with different approaches to achieve the solutions. Each chapter is structured as a real-world requirement from a client and describes a process to meet that requirement.
After reading this book, you should have a high-level understanding of the architectural patterns used in the book, and you should have a methodology for approaching system design.
What You Will Learn
- Understand design principles and considerations for various stages of software development
- Translate patterns into code samples
- Create a blueprint for approaching system design
- Understand architectural patterns: CQRS, event sourcing, distributed systems, distributed transactions, and plug-in architecture
Who This Book Is For
Developers who wish to move into architecture, and junior software architects also will find the book useful