Copyright
이 모든 내용은 Pluralsight에 Matthew Renze가 올린 'Clean Architecture: Patterns, Practices, and Principles'라는 강의의 첫번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/clean-architecture-patterns-practices-principles/table-of-contents). 저작자님께 게시허가도 받았습니다.
Content
2. Domain-centric Architecture
4. Commands and Queries (CQRS)
Outline
Levels of Architectural Abstraction
What is Bad Architecture?
What is Good Architecture?
What is Clean Architecture?
Levels of Architectural Abstraction
System : the most abstract representation of software
Sub-system : System can be represented as a set of one or more subsystems
Layers : Sub-systems are typically divided into one or more layers
Components : Layers are often subdivided into one or more components
Classes : Components contain classes
Data and Methods : Classes contains data and methods
What is Bad Architecture?
Complex
Incoherent : the parts don't seem like they fit together
Rigid : hard to change or evolve the architecture
Brittle : touching a part of the code over here might break another part of the code somewhere else
Untestable
==> Unmaintainable
What is Good Architecture?
Simple
Understandable
Flexible
Emergent
Testable
==> Maintainable
What is Clean Architecture?
Architecture that is designed for the inhabitants(User, developers who building or maintaining the system) of the architecture. Not for the architect or the machine. Clean architecture is a philosophy of architectural essentialism. It's about focusing on what is truly essential to the software's architecture versus what is just an implementation detail.
Focus on the essential
Build only what is necessary
Optimize for maintainability
Context is king
All decisions are a tradeoff
Align with business goals
Use your best judgement
출처
이 모든 내용은 Pluralsight에 Matthew Renze가 올린 'Clean Architecture: Patterns, Practices, and Principles'라는 강의의 첫번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/clean-architecture-patterns-practices-principles/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.
'Programming > Architecture' 카테고리의 다른 글
(Clean Architecture) Microservices (0) | 2018.02.12 |
---|---|
(Clean Architecture) Functional Organization (0) | 2018.02.11 |
(Clean Architecture) Commands and Queries (CQRS) (0) | 2018.02.11 |
(Clean Architecture) Application Layer (0) | 2018.02.11 |
(Clean Architecture) Domain-centric Architecture (0) | 2018.02.09 |