“디자인 패턴의 아름다움” 책은 객체지향 프로그래밍 패러다임과 리팩터링, 디자인패턴을 다루는 책으로, 고품질 코드를 작성하도록 구성되어 있는 책입니다. 이 책 저자는 구글에서 퇴사한 후에 다양한 회사에 근무한 경험으로 고품질 코드의 중요성을 프로그래머들에게 알려주기 위해 이 책을 집필하게 되었습니다.
책 구성은 객체 지향의 설계 원칙과 디자인 패턴으로 구성되어 있습니다. 초반부에서 고품질 코드가 왜 중요한지와 코드 설계를 배우는 이유에 대해서 설명하고 있습니다. 고품질 코드는 코드 설계 방법론 기반으로 코드 품질을 올릴 수 있는 기법을 사용합니다. 이 방법들은 객체지향, 설계 원칙, 디자인 패턴, 코딩 규칙, 리팩터링 기법이 있습니다.
이러한 방법들 확장성과 가독성이 높은 유지보수가 용이한 고품질 코드를 작성 할 수 있습니다. 그렇기에 프로그래머가 가져야 중요한 역량 중 요소가 됩니다.
고품질 코드를 작성하기 위해서는 객체지향 설계 패러다임, 설계 원칙, 코딩 규칙, 리팩터링을 가져야 합니다. 프로그래밍 방법론의 궁극적인 목표는 고품질 코드를 작성하기 위해서입니다.
책 저자는 객체지향 프로그래밍을 복잡한 설계 사상을 실현할 수 있는 다양한 설계 원칙과 디자인 패턴 코딩 구현의 기초라고 정의합니다.
객체지향 설계 방법은 요구 사항 명세를 특정 클래스 설계로 변환하는 작업 과정입니다. 이 부분에서는 특히나 공감이 가는 부분이 객체를 책임과 기능을 가진 클래스로 만드는 것이 인상 깊었습니다. 클래스를 정의하며, 해당 클래스의 속성과 메서드를 정의합니다. 클래스 간의 상호 작용을 정의한 다음 클래스를 연결하고 실행 엔트리 포인트를 제공함으로써 객체지향 설계 바탕으로 개발합니다.
후반부에서는 디자인패턴의 관련 코드와 예시를 보여줍니다. 디자인 패턴을 생성 디자인 패턴, 구조 디자인 패턴, 행동 디자인 패턴 3가지 패턴으로 분류합니다. 싱글턴 패턴은 하나의 객체 또는 인스턴스로 한 번만 저장되어야 하는 데이터를 클래스로 생성하여 여러 시스템에서 사용합니다.
책은 전반적으로 객체지향 설계와 디자인패턴에 대해서 다루면서 예제 코드를 제시합니다. 고전 책 <<GoF의 디자인 패턴 :재사용성을 지닌 객체지향 소프트웨어의 핵심요소>> 와 유사한 책이 어려우시다면 이 책을 권장합니다.
