Gang of Four 책¶
기억하기 어려울 수 있지만, 객체 지향 프로그래밍은 1990년대에 크게 유행했습니다. 일급 함수와 범용 데이터 구조의 강력함에 대해 이야기하는 대신, 많은 프로그래머들이 가상 메서드, 슈퍼클래스, 서브클래스, 그리고 영리한 믹스인으로 자신들의 코드를 장식하고 있었습니다. 프로그래머들은 종종 언어적 한계와 정적 타입으로 인해 나중에 코드에 적용하고 싶었던 개선 사항들을 적용할 수 없다는 것을 발견했습니다.
“Gang of Four”가 구원자로 등장했습니다. 그들의 책의 첫 번째이자 가장 근본적인 패턴은, 페이지 전체에 이탤릭체로 선명하게 새겨져 있으며, 일관성 있게 실천한다면 프로그래머들을 구상 클래스에 고정된 코드로부터 자유롭게 해줄 것이었습니다:
“구현이 아닌 인터페이스에 맞춰 프로그래밍하라.”
더 많은 코드를 희생하면서, 이 관행은 프로그래머들을 파이썬과 같은 동적 언어에서 우리가 누리는 자유를 향해 한 걸음 더 나아가게 했습니다. 책의 각 장들은 그 시대의 제한된 프로그래밍 언어들이 제기한 서로 다른 디자인 난제들을 다루고 해결했습니다. 대부분의 해결책들은 너무 긴밀하게 연결되어 있을 코드를 영리하게 분리하기 위해 새로운 클래스들을 도입했습니다.
이 사이트는 클래스와 함수가 일급 객체인 현대의 동적 프로그래밍 언어의 맥락에서 Gang of Four의 오래된 패턴들을 검토하여, 어떤 패턴이 여전히 유용한지, 그리고 어떤 패턴이 사라졌는지 살펴봅니다. 이 사이트의 `메인 페이지 </>`_에서 패턴들을 살펴볼 수 있습니다.