디자인 패턴의 아름다움: 객체지향 패러다임부터 설계 원칙, 코딩 규칙, 리팩터링 기법, 디자인 패턴까지

· 제이펍
Ebook
528
Pages

About this ebook

객체지향 프로그래밍, 설계 원칙, 코딩 규칙, 리팩터링, 디자인 패턴으로 코드 품질을 높이자


개발자는 연차가 쌓일수록 코드의 품질을 올리고 싶은 욕구에 휩싸인다. 하지만 안타깝게도 많은 기업의 개발 부서는 기능 하나하나를 만들어내고 일정을 쳐내는 데 급급한 실정이다. 작성해놓은 코드가 동작만 한다면 다시 들춰볼 시간도, 여유도 없다. 그런데 이렇게 급하게 만든 코드를 유지 보수하다 보면 막막해져서 모든 코드를 삭제하고 다시 작성하고 싶어진다.


그렇다면 고품질의 코드는 어떻게 작성할까? 엄격한 코드 품질 관리로 유지 보수 비용을 현저히 낮추는 개발 환경(구글)에서 근무했던 저자는 코드 설계에 대한 이론 지식을 먼저 갖추는 것을 추천한다. 코드 설계 이론 지식은 코드의 유지 보수성, 가독성, 확장성, 유연성, 간결성, 재사용성, 테스트 용이성을 높이는 데 도움이 된다.


책의 1장에서는 고품질의 코드란 무엇인지 정의하고 과도한 설계를 피하는 법을 알려준다. 2장에서는 설계 원칙과 디자인 패턴의 기초에 해당하는 객체지향 프로그래밍을 소개하고, 3장에서는 SOLID 원칙, KISS 원칙, YAGNI 원칙, DRY 원칙, LoD 원칙 등 중요한 설계 원칙을 소개한다.


4장에서는 명명, 주석, 코드 스타일, 코딩 팁을 포함한 코딩 규칙을 배울 수 있고, 5장에서는 리팩터링의 네 가지 요소와 단위 테스트, 코드 테스트 용이성, 디커플링 등을 다루고 예제와 함께 리팩터링 기술을 익힌다.


6장, 7장, 8장은 각각 생성, 구조, 행동 세 가지 분류로 나눠 22가지 디자인 패턴을 소개한다. 6장에서는 싱글턴 패턴, 팩터리 패턴, 빌더 패턴, 프로토타입 패턴을 포함한 생성 디자인 패턴을, 7장에서는 프록시 패턴, 데커레이터 패턴, 어댑터 패턴, 브리지 패턴, 퍼사드 패턴, 복합체 패턴, 플라이웨이트 패턴을 포함한 구조 디자인 패턴을 소개한다. 8장에서는 옵서버 패턴, 템플릿 메서드 패턴, 전략 패턴, 책임 연쇄 패턴, 상태 패턴, 반복자 패턴, 비지터 패턴, 메멘토 패턴, 커맨드 패턴, 인터프리터 패턴, 중재자 패턴 등 행동 디자인 패턴을 소개한다.


이 책의 코드는 대부분 자바로 작성되었지만, 다루는 내용과 설명은 특정 프로그래밍 언어와 관련이 없으며 어떤 프로그래밍 언어를 사용하더라도 모두 읽을 수 있다. 코딩 능력을 향상하고 싶은 모든 개발자들에게 추천한다.

About the author

구글에서 번역 관련 시스템 개발에 참여했고 10여 년간 알고리즘을 연구해왔다. 현재는 금융회사에서 수석 시스템 아키텍트로서 회사의 비즈니스 아키텍처 설계 및 개발을 책임지고 있다.

25년 차 소프트웨어 개발자로 싸이월드, 티맵 등의 모바일 솔루션을 개발했으며, 사우디아라비아 등 중동의 여러 국가, 인도네시아, 멕시코의 은행 결제 시스템을 개발해왔다. 이후 K-POP, 블록체인, 정보 관리 등 다양한 분야의 스타트업에서 CTO를 역임하다가 2023년부터 애자일 솔루션 업체의 개발 이사로 근무 중이다. 저서로는 《실전 안드로이드 프로그래밍》(케이엔피 IT, 2011), 《갤럭시 S & 안드로이드폰 완전정복》(이비락, 2010), 《갤럭시 S 안드로이드폰 어플 활용 백서》(글로벌, 2010), 《입문자를 위한 Windows CE Programming》(가남사,2002) 등 다수가 있다.

Rate this ebook

Tell us what you think.

Reading information

Smartphones and tablets
Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.
Laptops and computers
You can listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Center instructions to transfer the files to supported eReaders.