-
-
디자인 패턴의 아름다움 - 객체지향 패러다임부터 설계 원칙, 코딩 규칙, 리팩터링 기법, 디자인 패턴까지
왕정 지음, 김진호 옮김 / 제이펍 / 2023년 5월
평점 :
큰 프로젝트를 하기 위해서는 다양한 사람들이 같이 개발을 하는 것이 대부분입니다.
혼자서 개발하는 경우는 없습니다. 그러므로 코드를 작성하기 위해서는 다른 사람들이
이해할 수 있는 코드와 효율적인 코드를 작성해야합니다.
그리고 유지보수가 잘되고 재사용이 가능한 코드를 작성해야 개발하는 비용을 줄일 수 있습니다.그러나 효율적인 코드를 작성하고 개발하지 않고 개발하는 경우가 많은데 기간 내에 개발을 완료하고 납품을 해야하기 때문입니다.
이 책은 이러한 경우를 없애줄 수 있는 좋은 방안을 알려주는 책입니다.
디자인 패턴은 소프트웨어 개발에서 자주 접하게 되는 일부 설계 문제에 대해 요약된 솔루션 또는 설계 사상을 모아둔 것으로 코드 디커플링과 확장성 문제를 해결합니다.
디자인 패턴은 설계 원칙에 비해 그다지 추상적이지 않고 이해하기 쉽고 코드 구현도 복잡하지 않습니다. 이책은 이러한 디자인 패턴을 22개로 나눠서 알려주고 있고 누구나 손쉽게 디자인 패턴을 배우고 적용할 수 있는 방법을 상세히 기술하고 있습니다.
먼저 이책은 코드 설계를 배우는 이유에 대해서 코드품질 평가방법, 코품질 코드를 작성하는 방법, 과도한 설계를 피하는 방법을 먼저 알려주고 있습니다.
두번째로는 모든 코드의 기본적인 설계 방법인 객체지향 프로그래밍 패러다임에 대해서 다양한 관점에서 알려주고 있습니다. 단순히 코드만 나열하는 것이 아니라 실제 프로그래밍을 하면서 객체지향을 적용할 때 어떤 방법으로 적용해야하는 지를 알려주고 있습니다.
이러한 기본 개념을 바탕으로 소프트웨어 설계 원칙에 대해서 8개의 원칙(단일 책임 원칙, 개방 폐쇄 원칙, 리스코프 치환 원칙, 인터페이스 분리 원칙, 의존 역전 원칙, KISS원칙과 YAGNI원칙, DRY원칙, LoD)에 대한 자세한 설명을 해주고 있습니다.
그리고 22개의 고전적인 디자인 패턴에 대해서 예제코드를 보여주면서 각 패턴에 대한 자세한 설명을 해주고 있어서 실무에 적용하기 편리하게 되어 있습니다.
생성디자인 패턴 : 싱글턴 패턴, 팩터리 패턴, 빌더 패턴, 프로토타입패턴
구조 디자인 패턴 : 프록시 패턴, 데커레이터 패턴, 어댑터 패턴, 브리지 패턴, 퍼사드 패턴, 복합체 패턴, 플라이웨이트 패턴
행동 디자인 패턴 : 옵서버 패턴, 템플릿 메서드 패턴, 전략 패턴, 책임 연쇄 패턴, 상태 패턴, 반복자 패턴, 비지터 패턴, 메멘토 패턴, 커맨드 패턴, 인터프리터 패턴, 중재자 패턴
으로 나눠서 알려주고 있습니다.