O’REILLY Learning「Software Architecture for Web Developers」2
https://learning.oreilly.com/library/view/software-architecture-for/9781803237916/
2 Diving into Some Common Architectural Patterns
We’ll cover the following main topics in this chapter:
・Architectural patterns
・Architectural style versus architectural patterns
・Common patterns:
・The layered pattern
・The client-server pattern
・The model-view-controller pattern(MVC)
・The microservices pattern
・The CQRS(Command and Query Responsibility Segregation) pattern
・UI patterns (Micro frontends, Flux, and Jamstack)
ISO/IEC 25010 defines these requirements as follows:
“The quality of a system is the degree to which the system satisfies the stated and implied needs of its various stakeholders and thus provides value. Those stakeholders’ needs (functionality, performance, security, maintainability, etc.) are precisely what is represented in the quality model, which categorizes the product quality into characteristics and sub-characteristics.”
・Functional suitability
・Performance efficiency
・Compatibility
・Usability
・Reliability
・Security
・Maintainability
・Portability
クリストファー・アレクサンダーは著書『A Pattern Language』の中で、"それぞれのパターンは、私たちの環境の中で何度も繰り返し起こる問題を記述し、その問題に対する解決策の核心を、同じやり方を2度とすることなく、この解決策を何度も使えるように記述する “と説明。
Be sure you understand and are aware of some of the most critical crosscutting concerns, such as the following:
・Performance
・Security
・Logging
・Communication
・Deployment
・Maintainability
・Scalability
・Monitoring
・Usability
Jamstack
https://jamstack.org/
Webエクスペリエンス層をデータやビジネスロジックから切り離し、柔軟性、拡張性、パフォーマンス、保守性を向上させるアーキテクチャ・アプローチです。
Jamstackは、ビジネスロジックがWebエクスペリエンスを決定する必要性を排除します。
カスタムロジックやサードパーティーのサービスがAPIを通じて利用される、Webのためのコンポーザブルアーキテクチャを実現します。