O’REILLY Learning「Software Architecture for Busy Developers」3-4
https://learning.oreilly.com/library/view/software-architecture-for/9781801071598/
Chapter 3: Understanding ATAM and the Software Quality Attributes
We will more specifically cover the following topics in this chapter:
・Introducing ATAM
・Understanding sensitivity points, trade-off points, risks, and non-risks
・Exploring quality attributes
・Getting started with quality-attribute scenarios
・Practical use case
・ATAM and agile at scale
アーキテクチャ分析手法
Architecture Tradeoff Analysis Method (ATAM)
設計の選択とは、すべてトレードオフの問題。
root cause analysis (RCA)
fit-for-use:使用適合
fit-for-purpose:目的適合
Section 3: Software Design Patterns and Architecture Models
Chapter 4: Reviewing the Historical Architecture Styles
Here are the topics we are going to focus on:
・Introducing architecture styles
・Starting with monoliths
・Continuing with service-oriented architecture (SOA)
・Finishing with microservices
monoliths
service-oriented architecture (SOA)
Microservices
Chapter 5: Design Patterns and Clean Architecture
We will more specifically cover the following topics:
・Understanding design patterns and their purpose
・Reviewing the Gang of Four (GoF)
・Delving into the most recurrent patterns and applying them to a use-case scenario
・Looking at clean architecture
・My top 10 code smells
デザインパターンは、共通の問題に取り組むためのベストプラクティスとして認められているもの。
SOLID
・Single-responsibility principle (SRP)
・Open-closed principle (OCP)
・Liskov substitution principle (LSP)
・Interface segregation principle (ISP)
・Dependency inversion principle (DIP)
GoF(Gang of Four)
クリーン・アーキテクチャ
https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
hexagonal architectureとonion architectureの長所を再集合したもの。
My top 10 code smells
・Memory leaks will for sure lead to process crashes
・Improperly disposed objects
・ORM usage
・Security flaws
・Thread-safety
・Object lifetime
・SOLID compliance
・Proper exception handling
・Scalability
・In-memory caching, session state, and more