Features
- Helps students manage complexity from the start and design more effective enterprise solutions
- Teaches how to apply the patterns and techniques that help control project complexity—and make systems easier to build, support, and upgrade—right from the start
- Written by two enterprise programming experts
- Copyright 2015
- Dimensions: 7-3/8" x 9"
- Pages: 416
- Edition: 2nd
-
Book
- ISBN-10: 0-7356-8535-5
- ISBN-13: 978-0-7356-8535-2
A software architect’s digest of core practices, pragmatically applied
Designing effective architecture is your best strategy for managing project complexity–and improving your results. But the principles and practices of software architecting–what the authors call the “science of hard decisions”–have been evolving for cloud, mobile, and other shifts. Now fully revised and updated, this book shares the knowledge and real-world perspectives that enable you to design for success–and deliver more successful solutions.
In this fully updated Second Edition, you will:
- Learn how only a deep understanding of domain can lead to appropriate architecture
- Examine domain-driven design in both theory and implementation
- Shift your approach to code first, model later–including multilayer architecture
- Capture the benefits of prioritizing software maintainability
- See how readability, testability, and extensibility lead to code quality
- Take a user experience (UX) first approach, rather than designing for data
- Review patterns for organizing business logic
- Use event sourcing and CQRS together to model complex business domains more effectively
Delve inside the persistence layer, including patterns and implementation.
Downloads
Follow the instructions to download this book's companion files or practice files.
- Click the Download button below to start the download.
- If prompted, click Save.
- Locate the .zip file on your computer. Right-click the file, click Extract All, and then follow the instructions.
Download
Sample Pages
Download the sample content
Table of Contents
Foundation
1 Mechanics of software projects
2 Principles and patterns of object-oriented design
3 Writing software of quality
Layered Architecture: Head
4 The Presentation Layer
5 The Mythical Business Layer
Supporting Architectures
6 Introducing Domain Modeling
7 Implementing Domain Modeling
8 Introducing CQRS
9 Implementing CQRS
10 Introducing Event-sourcing Models
11 Implementing Event-sourcing Models
Layered Architecture: Tail
12 The Infrastructure Layer