Organize layers hierarchically while reducing module dependencies (coupling) and increasing code cohesion
Spaghetti Code: No code layer & consistency, complex dependency
Rather than developing linearly in response to ad-hoc requests, it's much faster in the long run to pursue accelerated development through structural design, even if it delays immediate development. An ideal step-function progress graph that continuously presents new structures is optimal
- Cohesion - Similar code with related responsibilities should be grouped together
- Coupling - Modifying one feature should require changes to only one piece of code
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.
"Simple Made Easy" - Rich Hickey (2011)
Rich Hickey, the author of Clojure and designer of Datomic, is a software developer with over 30 years of experience in various domains. Rich has worked on scheduling systems, broadcast automation, audio analysis and fingerprinting, database design, yield management, exit poll systems, and machine listening, in a variety of languages.
This keynote was given at Strange Loop 2011, and is perhaps the best known and most highly regarded of Rich's many excellent talks, ushering in a new way to think about the problems of software design and the constant fight against complexity.
The video was recorded at Strange Loop in partnership with InfoQ, who have hosted it on their site since 2011. This version (released 10 years later) is a new edit made from the original HD video and slides, restoring the slide transitions and animations as it was given in 2011.
https://www.youtube.com/watch?v=SxdOUGdseq4

Hexagonal Architecture
개요 이번 포스팅 에서는, 육각형 아키텍처(Hexagonal Architecture) 에 대해서 알아보고 간단한 예제를 통해 실제로 어떻게 육각형 아키텍처를 적용 하는지에 대해서도 알아보도록 하겠습니다. 계층화 없는 코드 = 스파게티 먼저 육각형 아키텍처를 설명하기 전에, 제가 첫 프로젝트를 진행했을때의 이야기를 해보겠습니다. 제가 모 기관에서 안드로이드 APK 보안취약점 분석을 수행해주는 서비스를 진행했을때, 저는 모듈화나
https://blog.imqa.io/hexagonal-architecture/



Seonglae Cho