software-architecture-patterns.pdf

(5402 KB) Pobierz
Additional
Resources
4 Easy Ways to Learn More and Stay Current
Programming Newsletter
Get programming related news and content delivered weekly to your inbox.
oreilly.com/programming/newsletter
Free Webcast Series
Learn about popular programming topics from experts live, online.
webcasts.oreilly.com
O’Reilly Radar
Read more insight and analysis about emerging technologies.
radar.oreilly.com
Conferences
Immerse yourself in learning at an upcoming O’Reilly conference.
conferences.oreilly.com
©2015 O’Reilly Media, Inc. The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. #15305
Understanding Common Architecture
Patterns and When to Use Them
Software Architecture
Patterns
Mark Richards
Software Architecture Patterns
by Mark Richards
Copyright © 2015 O’Reilly Media, Inc. All rights reserved.
Printed in the United States of America.
Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA
95472.
O’Reilly books may be purchased for educational, business, or sales promotional use.
Online editions are also available for most titles (http://safaribooksonline.com). For
more information, contact our corporate/institutional sales department:
800-998-9938 or corporate@oreilly.com.
Editor:
Heather Scherer
Production Editor:
Colleen Lobner
Copyeditor:
Amanda Kersey
February 2015:
First Edition
Interior Designer:
David Futato
Cover Designer:
Ellie Volckhausen
Illustrator:
Rebecca Demarest
Revision History for the First Edition
2015-02-24:
2015-03-30:
First Release
Second Release
The O’Reilly logo is a registered trademark of O’Reilly Media, Inc.
Software Architec‐
ture Patterns,
the cover image, and related trade dress are trademarks of O’Reilly
Media, Inc.
While the publisher and the author have used good faith efforts to ensure that the
information and instructions contained in this work are accurate, the publisher and
the author disclaim all responsibility for errors or omissions, including without limi‐
tation responsibility for damages resulting from the use of or reliance on this work.
Use of the information and instructions contained in this work is at your own risk. If
any code samples or other technology this work contains or describes is subject to
open source licenses or the intellectual property rights of others, it is your responsi‐
bility to ensure that your use thereof complies with such licenses and/or rights.
978-1-491-92424-2
[LSI]
Table of Contents
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
1. Layered Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Pattern Description
Key Concepts
Pattern Example
Considerations
Pattern Analysis
Mediator Topology
Broker Topology
Considerations
Pattern Analysis
1
3
5
7
8
2. Event-Driven Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
11
14
17
18
21
23
24
25
27
29
32
33
34
iii
3. Microkernel Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Pattern Description
Pattern Examples
Considerations
Pattern Analysis
4. Microservices Architecture Pattern. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Pattern Description
Pattern Topologies
Avoid Dependencies and Orchestration
Considerations
Pattern Analysis
Zgłoś jeśli naruszono regulamin