레이어를 계층화하며 모듈 의존성(결합도)은 낮추고 코드 응집도는 높여야 된다
Spaghetti Code: No code layer & consistency, complex dependency
그때그때 요청따라 개발하며 선형적 진행을 가지는 것보다 구조설계로 당장 개발이 늦춰지더라도 가속도 붙는 개발을 하는게 장기적으로 훨씬 빠른 길이다. 점점 새로운 구조를 제시하는 계단식 진행 그래프가 이상적
- 응집도 - 유사한 역할을 하는 코드들은 같이 모아둬야 한다는 것
- 결합도 - 하나의 기능을 수정하면 하나의 코드만 수정하게
Software Architectures
Software Architecture Notion
One thing that should be learned from the Bitter Lesson is the great power of general-purpose methods, of methods that continue to scale with increased computation even as the available computation becomes very great. - Richard Sutton
Unlike the subjective nature of "Easiness" and "Hardness," "Simplicity" and "Complexity" are objective concepts. "Simple" refers to an uncomplicated, one-fold structure, while "complex" means a state where multiple layers are intertwined. Easy/Hard are relative terms, and people choosing what seems easy doesn't necessarily guarantee a simple structure.
For simplicity, instead of interleaving complex structures, separate components and then compose them to connect simple elements.


Seonglae Cho
