software architecture notes

Resources:

  • Software Architect's Handbook: Packt Link
  • Software Architecture in Practice: PDF
  • Solution Architecture Resources: Github Link

Software Architect's Handbook

1. The Meaning of Software Architecture

2. Software Architecture in an Organization

3. Understanding the Domain

4. Software Quality Attributes

  • Quality attributes
  • Maintainability
  • Usability
  • Availability
  • Portability
  • Interoperability
  • Testability

5. Designing Software Architectures

6. Software Development Principles and Practices

7. Software Architecture Patterns

  • Software architecture patterns
  • Layered architecture
  • Event-driven architecture
  • The Model-View-Controller pattern
  • The Model-View-Presenter pattern
  • The Model-View-ViewModel pattern
  • The Command Query Responsibility Segregation pattern
  • Service-oriented architecture

8. Architecting Modern Applications

  • Monolithic architecture
  • Microservice architecture
  • Serverless architecture
  • Cloud-native applications

9. Cross-Cutting Concerns

10. Performance Considerations

11. Security Considerations

12. Documenting and Reviewing Software Architectures

13. DevOps and Software Architecture

14. Architecting Legacy Applications

15. The Soft Skills of Software Architects

16. Evolutionary Architecture

17. Becoming a Better Software Architect