실전 자바 소프트웨어 개발
실제로 프로그램을 만들다 보면
책에서 배웠던 '이상적인' 내용을 적용하기 어려운 경우가 많다.
여기서 '이상적인' 이란 SOLID를 철저하하게 지키며
결합도는 낮고 응집도는 높으며
TDD와 DDD 방식으로 만들어진 제대로된 객체지향적인 코드를 말한다.
하지만 절대 쉽지 않은 일이다.
이 책에서는 이 쉽지 않은 작업을 어떻게 풀어 나가야 하는지
몇 가지 샘플 프로젝트를 통해 가이드 해주고 있다.
어려운 내용을 쉽게 설명해 주기 위해 다양한 예제 코드를 보여 주고 있고
우리가 목표로 하는 '이상적인' 코드의 장단점에 대해서도 이야기 해주고 있다.
타고난 천재가 아닌이상 이런 이상적인 코드를 처음부터 짜기란 불가능에 가깝다.
따라서, 책의 저자가 이야기 한 것처럼
최대한 많은 곳에 해당 내용을 적용해 보려고 노력하고
잘 짜여진 수많은 코드를 보면서 공부 하는수 밖에 없다.
잠깐 위에서 언급했었는데
이상적인 코드를 구현 하는 방법에는 여러 가지 방법이 있고
각각의 개발 방식에따라 장단점이 존재한다.
예를 들어 책의 첫번째 예제에서 응집도에 대해 설명할때 이런 이야기가 나온다.
응집도가 높으면 프로그램을 이해하기 쉬우나 너무 단순한 클래스가 많이 생성된다.
또한 어느 정도 응집도를 유지하면 유지보수 하기 쉽고 관련 동작을 찾기 쉽다는 장점이 있지만
불필요한 의존성과 SRP(단일 책임 원칙)을 위배할 가능성이 높아진다.
그리고 응집도가 낮으면 기능을 추가하기 쉽지만, 기능을 추가하기 쉬운 만큼
수많은 기능들을 추가했기 때문에 클래스의 책임이 모호해 진다는 것이다.
따라서 개발을 할때는 여러 가지 상황을 고려하여 적절한 지점에서 타협점을 찾는 것이 바람직하다.
이러한 것은 책에서는 배울 수 없다.
수많은 코드를 접해보고 직접 사용해서 상황에 따라 적절하게 사용할 수 있는 능력을 기를 수 밖에 없다.
아직 어떤 코드가 좋은 코드인지 잘 모르겠다면
이런 종류의 책을 여러 번 읽어 보고 감을 잡으면 좋을것 같다.
'블로그 > 도서' 카테고리의 다른 글
[도서]매니징 쿠버네티스 (0) | 2020.08.20 |
---|---|
[도서] 뇌(상,하) (0) | 2020.08.19 |
[도서] 빨간 머리 앤, 에이번리의 앤 (0) | 2020.07.16 |
[도서] 초등 하루 한 권 책밥 독서법 (0) | 2020.07.16 |
[도서] 엔터프라이즈 자바 마이크로서비스 (0) | 2020.07.03 |