In order to learn about architecture pattern, we should note about some interesting, good websites and books.
-
Websites
-
Books
-
Pattern-oriented Software Architecture for Dummies
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
-
Software Architecture Design Patterns in Java
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:
-
Basic pattern
- Interface
- Abstract Parent Class
- Private Methods
- Accessor Methods
- Constant Data Manager
- Immutable Object
- Monitor
- Creational patterns
-
Structural patterns
- Common structural patterns of GoF
- Aggregate enforcer
- Explicit Object Release
- Object Cache
-
Behavioral patterns
- Common behavioral patterns of GoF
- Object Authenticator
- Common Attribute Registry
-
Concurrency patterns
- Critical section
- Consistent Lock order
- Guarded suspension
-
-
Pattern-Oriented Software Architecture, A System Of Patterns, Vol 1
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
- SOA
- Event-Driven architectural patterns
- Microservices architecture patterns
- Patterns for Containerized and Reliable Applications
-
-
Designing Distributed Systems - Patterns and paradigms for scalable, reliable services
-
Patterns-Based Engineering Successfully Delivering Solutions via Patterns by Lee Ackerman - 2011
It introduces how to design the architecture patterns with some specific steps that we need to consider.
-
Object-Oriented Software Engineering_ Practical Software
This book gives us the practice of OOP when encountering the real project.
-
Object-Oriented Analysis, Design and Implementation
It gives us some specific problem and how to deal with it by using the suitable design patterns.
-
Designing Software Architectures - A practical approach
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
-
Practical Object-Oriented Design with UML
This book give us some examples to practice OOAD.
-
Concurrent programming in Java - Second Edition - Design Principles and Patterns
-
Pattern-Oriented Software Architecture, Patterns for Concurrent
This books will concentrate on concurrency patterns that we have to use in multi-threaded environment.
-
Service Design Paterns - Fundamental Design patterns for SOAP/WSDL and Restful Web Servcies
-
Patterns of Enterprise Application Architecture - Martin Fowler
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.
-
System Analysis and Design_An Object Oriented Approach with UML
This book provides how to design each layer of architecture pattern. Especially, it shows us that how to optimize persistence layer for RDBMS.
-
Software Engineering at Google: Lessons Learned from Programming Over Time
-
-
Courses
-
Microservices Architectural Design Patterns Playbook by Rag Dhiman
-
Picturing Architecture: UML (The Good Bits) and More by Allen Holub
-
Clean Architecture: Patterns, Practices, and Principles by Matthew Renze
-
Security Architecture and Design: The Big Picture by Christopher Rees
-
Designing Event-driven Applications Using Apache Kafka Ecosystem by Bogdan Sucaciu
-
-
Books for distributed system