SOLID 정신 총론
노트 유형: Cloze
Text
SOLID 5가지: {{c1::단일 책임 / 개방-폐쇄 / 리스코프 치환 / 인터페이스 분리 / 의존 역전}}
- “원칙”이 아니라 “정신”이라고 표현하는 이유: {{c2::반드시 따라야 할 규칙이 아니기 때문}} (마케팅적 요소도 있음)
- SOLID(추상화·일반화)로 실제 얻을 수 있는 것 한 가지: {{c3::유연함}} — 이해하기 쉬움·유지보수 용이는 유연함과 {{c4::독립적}} (추상화는 오히려 직관적이지 못함)
- SOLID가 유효한 곳: {{c5::디커플링이 중요한 대규모 프로젝트}} — 시작은 작게, 서비스가 커지면 디커플링
Back Extra
- 명목상 목표(소수설 진영 정리): 소프트웨어 설계를 이해하기 쉽고, 유연하고, 유지보수가 쉽게 — 실제로는 유연함만 얻으므로 마케팅에 현혹되지 말 것
- 요구사항이 자주 바뀌는 요즘은 새로 만드는 것이 더 빠를 수 있음 (유연한 설계에 시간을 쓰기 어려움)