개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴

콜트·2022년 11월 5일
2

책을 읽자

목록 보기
24/27
post-thumbnail

소프트웨어의 가치

본인은 책을 읽을 때 거의 대부분 사서 읽는다. 내 책이어야 마음에 드는 부분에 표시를 해둘 수 있으니까. 나의 좁은 식견으로 꼽은, 이 책에서 말하는 핵심 문장은 아래와 같다.

소프트웨어의 가치는 사용자가 요구하는 기능을 올바르게 제공하는 데 있다. ...(중략) 소프트웨어는 변화할 수 있어야 한다. 이게 또 다른 소프트웨어의 가치이다.

위 문장을 원활하게 이루어내기 위한 것들(객체지향, 디자인 패턴)을 본 책에서는 소개해주고 있다. 개인적으로는 개발 서적임에도 불구하고 비교적 가벼운 마음으로 읽을 수 있었던 것 같다. 짬나는 시간마다 표시하면서 읽었음에도 후루룩 읽혔고, 금세 완독할 수 있었다. 개인적으로 이 책을 읽으면서 든 생각은 토끼책(객체지향의 오해와 사실)을 먼저 읽고 이 책을 읽으면 이해가 정말 잘 될 것 같다는 거다. 본인도 아는 선배의 추천으로 읽었는데, 토끼책은 꼭 읽어보시길 바란다.

이 책에서는 단순한 예제와 함께 객체 지향과 디자인 패턴의 여러 가지 개념들을 주의사항과 함께 소개한다. 읽어보면 알겠지만, 정말 단순하고 명료하게 이해할 수 있게 쓰여져 있다. 그렇지만 쉽다고 해서 대충 쓰여진 것이 아니므로 주니어 레벨의 개발자라면 읽어보길 강력하게 추천한다(심지어 우아한테크코스에서도 추천서적으로 언급되고 있다). 애플리케이션 레벨에서의 구현에 분명히 많은 도움이 될 것이라 믿어 의심치 않는다.

추천 자료

책의 추천 자료 파트에서 추천해주고 있는 책들이다. 관심 있는 사람들은 찾아보길 바란다.

좋은 설계와 디자인 패턴에 대한 더 깊은 지식을 원한다면 아래 책들을 읽어보자.

GOF의 디자인 패턴 - Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

실전 코드로 배우는 실용주의 디자인 패턴 - Allen Holub

Agile Software Development, Principles, Patterns, and Practices - Robert C. Martin

좋은 설계는 좋은 코드로부터 나온다. 좋은 코드를 작성하는 방법이 궁금하다면 다음 책을 참고하자.

켄트 벡의 구현 패턴 - Kent Beck

이펙티브 자바 - Joshua Bloch

Clean Code 클린 코드: 애자일 소프트웨어 장인 정신 - Robert C. Martin

다음은 코드를 점진적으로 개선하고 좋은 설계로 바꿔 나가는데 도움을 주는 책이다.

리팩토링: 코드 품질을 개선하는 객체지향 사고법 - Martin Fowler

테스트 주도 개발: Test-Driven Development - Kent Beck

레거시 코드 활용 전략 - Michael Feathers

마지막으로 작성한 코드의 설계를 공유하거나 설계 초안을 만들 때 사용되는 다이어그램 작성 방법을 빠르게 익히고 싶다면 아래 책이 제격이다.

UML Distilled: 표준 객체 모델링 언어 입문 - Martin Fowler

참고

본 책을 읽고나서 정리도 할 겸, 책에 기재된 예제가 아닌 샘플 코드를 직접 구현하는 중이며 해당 코드는 여기(필자의 GitHub)놀이터(예제코드 작성) 디렉토리에서 확인할 수 있게 할 예정이다(아직 보이지 않는다면 solid-design-pattern-sample 브랜치 참고). 이 글을 보는 누군가에게 도움이 되었으면 좋겠다.

profile
개발 블로그이지만 꼭 개발 이야기만 쓰라는 법은 없으니, 그냥 쓰고 싶은 내용이면 뭐든 쓰려고 합니다. 코드는 깃허브에다 작성할 수도 있으니까요.

0개의 댓글