Software Architecture Foundations

Software Architecture Foundations
Software Architecture Foundations
English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 1h 36m | 825 MB

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.

Topics include:

  • What is software architecture?
  • The architect’s day-to-day job
  • Architectural theories and concepts
  • Gathering requirements
  • Identifying bounded contexts and entities
  • Categories of architecture
  • Architectural patterns
Table of Contents

1 The importance of software architecture
2 What you need to know
3 What is software architecture
4 What’s the job Traditional architects
5 What’s the job Modern architects
6 A day in the life of an architect Morning
7 A day in the life of an architect Afternoon
8 From developer to architect
9 Conway’s law Architecture and organizational structure
10 Incremental vs. big up-front design
11 Top down vs. bottom up
12 The role of the domain (bounded contexts)
13 Requirements gathering Problem statements and user stories
14 Narrowing Vertical vs. horizontal splitting
15 Identifying bounded contexts and entities
16 System vs. enterprise architecture
17 Design patterns
18 Monoliths
19 Microkernel (plugin) architecture
20 Message-based architectures
21 Microservices and miniservices
22 Reactive and choreographed systems
23 Next steps