다섯 살도 알 수 있게 · SW공학
GoF 디자인패턴이 뭐예요?
GoF 디자인패턴을, 자주 반복되는 글쓰기 문제마다 검증된 해법을 모아둔 출판사의 공식집 이야기로 풀어봤어요.
작가마다 복선 까는 법을 처음부터 다시 고민해요.이미 많은 책이 풀어낸 문제인데도요.
각자 마음대로 쓰면 되죠, 라는 말에 책마다 구조가 제각각이 돼요.복선 까는 법을 매번 새로 발명하면, 검증 안 된 방법으로 쓰게 돼요.
GoF 디자인패턴은 반복되는 문제마다 검증된 해법을 모은 공식집이에요.네 명의 저자(Gang of Four)가 패턴을 23가지 공식으로 정리했어요.
검증된 공식 찾기이미 풀린 문제인지 먼저 봐요
등장인물 만드는 법생성 패턴이 다뤄요
챕터 엮는 법구조 패턴이 다뤄요
사건이 퍼지는 법행위 패턴이 다뤄요
공식은 세 갈래로 나뉘어요.공식을 외운다고 좋은 책이 되진 않아요.
어떤 공식을 쓸지는 여전히 작가의 판단이에요.패턴은 손에 쥔 연장이고, 언제 쓸지는 작가 몫이에요.
한 줄로
GoF 디자인패턴 = 자주 반복되는 문제마다 검증된 해법을 모아둔 23가지 공식집.
GoF(Gang of Four)는 이 패턴들을 정리한 네 저자를 가리키는 별칭이고, 디자인패턴은 생성(객체를 만드는 법)·구조(클래스와 객체를 엮는 법)·행위(객체끼리 일을 나누고 소통하는 법) 세 범주 23가지로 나뉘어요. 각 패턴은 특정 설계 문제에 대해 이름 붙여진 재사용 가능한 해법으로, 패턴 자체를 암기하기보다 어떤 상황에 어떤 패턴이 맞는지 판단하는 능력이 더 중요해요.
어른들은 이렇게 불러요
- GoF
Gang of Four - 공식집을 처음 엮은 네 저자. 23가지 패턴을 정리했어요.
- 생성 패턴
Creational Patterns - 등장인물을 만드는 법들. 싱글턴, 팩토리 메서드 등이에요.
- 구조 패턴
Structural Patterns - 챕터를 엮는 법들. 어댑터, 데코레이터 등이에요.
- 행위 패턴
Behavioral Patterns - 사건이 퍼지는 법들. 옵저버, 전략 등이에요.
- 소프트웨어 아키텍처
Software Architecture - 책 전체의 구조 밑그림. 디자인패턴보다 훨씬 큰 단위예요.
- 재공학/역공학(3R)
Reengineering (3R) - 사라진 원본을 되짚어 다시 짓는 일. 다시 쓸 때 이 공식들을 적용하기도 해요. → 사라진 원본을 되짚어 다시 짓기
- 리팩토링
Refactoring - 줄거리는 그대로, 문장 구조만 다듬는 일. 패턴은 리팩토링의 목적지가 되기도 해요.
- UML 다이어그램
UML Diagrams - 쓰기 전에 그려보는 설계 지도. 패턴을 그림으로 나타낼 때도 써요. → 쓰기 전에 그리는 설계 지도
다음 이야기
두꺼운 책을 소책자들로 쪼개기 →