Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

LinkedIn Learning

Software Architecture Foundations

via LinkedIn Learning

Overview

Learn how software architecture can help you build better software. Review the role of the software architect, key theories and concepts, and common architectural patterns.

Software architecture is not just putting together existing packages as if they were building blocks. It's a considered approach to design, which helps systems scale with your business and helps your team develop in a more agile way. This course explains what software architecture really is, how it can help you build better applications, and the relationship architecture has to implementation, design, and construction. Instructor Allen Holub discusses what the job looks like, whether you're a traditional or modern architect, and reviews the major theories and concepts you'll need to get started. He also covers Conway's law and domain-based thinking, the differences between system and enterprise architecture, and six of the most common architectural patterns, from monoliths to microservices.

Syllabus

Introduction
  • The importance of software architecture
  • What you need to know
  • What is software architecture?
1. The Software Architect
  • What's the job? Traditional architects
  • What's the job? Modern architects
  • A day in the life of an architect: Morning
  • A day in the life of an architect: Afternoon
  • From developer to architect
2. Thinking Architecturally
  • Conway's law: Architecture and organizational structure
  • Incremental vs. big up-front design
  • Top down vs. bottom up
  • The role of the domain (bounded contexts)
3. A Design Process: A Brief Introduction
  • Requirements gathering: Problem statements and user stories
  • Narrowing: Vertical vs. horizontal splitting
  • Identifying bounded contexts and entities
4. Categories of Architecture
  • System vs. enterprise architecture
  • Design patterns
5. Broad Architectural Patterns
  • Monoliths
  • Microkernel (plugin) architecture
  • Message-based architectures
  • Microservices and miniservices
  • Reactive and choreographed systems
Conclusion
  • Next steps

Taught by

Allen Holub

Related Courses

Reviews

Start your review of Software Architecture Foundations

Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free