In order to learn about architecture pattern, we should note about some interesting, good websites and books.
This book give us the fundamental about software architecture. How to use it and how to apply common architecture pattern in our project.
It will lists some particular architecture pattern that we will use in our prject:
- Layered architecture
- Event-Driven architecture
- Microkernel architecture
- Microservices architecture
- Space-Based architecture
It gives us the background of Object-oriented design with UML. The symbols of UML is in detail.
It also offers some common design patterns:
- Abstract Parent Class
- Private Methods
- Accessor Methods
- Constant Data Manager
- Immutable Object
- Creational patterns
- Common structural patterns of GoF
- Aggregate enforcer
- Explicit Object Release
- Object Cache
- Common behavioral patterns of GoF
- Object Authenticator
- Common Attribute Registry
- Critical section
- Consistent Lock order
- Guarded suspension
This book is also a must-read book. It’s in detail. It also contains some weird pattern for some systems such as Distributed systems, Interactive systems, Adaptable Systems that we need to know:
- Distributed systems –> Broker.
- Interactive systems –> MVC, Presentation-Abstraction-Control.
- Adaptable systems –> Microkernel, Reflection.
This book gives us some ways to choose the suitable architecture pattern for specific system.
It gives us the key concepts of each architecture pattern of many systems.
Client/Server Multi-Tier architecture patterns
We will go through the two-tier, three-tier, and multi-tier pattern client-server, the benefits and drawbacks of each type.
Object-Oriented Software Engineering Patterns
We will learn about some common principles of OOP, SOLID principles, design patterns of GoF. But we think that the valuable thing is Concurrency patterns that contains:
- Concurrency design pattern –> Producer/Consumer, Active Object, and Monitor Object.
- Concurrency architecture pattern –> Half-sync/Half-async.
Enterprise Integration pattern
This chapter talks about so many enterprise patterns. We think that to understand all of them will take so much time. But it’s deserved for our effort.
- Pipe and filter pattern
- Message router pattern
- Message endpoint pattern
- Point-to-point pattern
- Publish-subscribe channel pattern
- Datatype channel pattern
- Message bus pattern
- Command message pattern
- Event message pattern
- Event message pattern
- Request-reply pattern
- Content-based router pattern
- Defining a push notification pattern
- API management pattern
- Domain-Driven Design Principles and Patterns
- Event-Driven architectural patterns
- Microservices architecture patterns
- Patterns for Containerized and Reliable Applications
It introduces how to design the architecture patterns with some specific steps that we need to consider.
This book gives us the practice of OOP when encountering the real project.
It gives us some specific problem and how to deal with it by using the suitable design patterns.
It gives us the process of how to design architecture for system. It’s really interesting.
One book is as same as this book that is Software architecture in practice - second edition
This book give us some examples to practice OOAD.
This books will concentrate on concurrency patterns that we have to use in multi-threaded environment.
It’s very nice. Martin Fowler is a famous author in this marjor. So we can read up on it when coping with problems in our projects.
This book provides how to design each layer of architecture pattern. Especially, it shows us that how to optimize persistence layer for RDBMS.
Books for distributed system