Software Architecture
Intro to Software Architecture
- Software Architecture Guide
Martin covers: • What is software architecture? • Why does it matter? • Application architecture • Enterprise architecture
How to Think About Architecting Software
- Don’t Let Architecture Astronauts Scare You
Joel emphasizes the importance of solving useful problems, rather than fixating on interesting architectures.
Software Design Patterns
- Design Patterns
Alexander covers: • What's a design pattern? • Benefits of design patterns • Catalog of 22 patterns • History of patterns • Criticism of patterns
- The SOLID Principles of Object-Oriented Programming Explained in Plain English
Yigit provides a well-written breakdown of the SOLID principles: • The Single Responsibility Principle • The Open-Closed Principle • The Liskov Substitution Principle • The Interface Segregation Principle • The Dependency Inversion Principle
Architecting Systems for Scale
- Introduction to architecting systems for scale
Will documents some of the scalability architecture lessons he's learned while working on systems at Yahoo! and Digg, around load balancing, caching, off-line processing, and a platform layer.
Software Architecture Principles
- Meetup Architecture Principles
A VP of engineering describes Meetup's process of identifying their architecture principles: build for change, build for understanding, and build Meetup.
Software Architecture Examples
- Exploring Workday’s Architecture
James provides a big picture overview of Workday's architecture, and then digs into categories of detail including: • User Interface Services • Metadata-Driven Development • The Object Management Services • Integration Services • Persistence • Analytics • Deploying Workday • Operations