본문 바로가기

책을 보다

[리뷰] 단순함으로 복잡함을 풀어내는<객체지향 시스템 디자인 원칙>

'출판사에서 도서를 제공받았습니다'

 

 

 

시간이 갈수록 뚱뚱해지는 클래스를 보며 난감했던 경험이 있다.

구현은 시작도 안 했는데 하는 일이 너무 많은 클래스가 한둘이 아니다.

맞닥뜨린 설계를 어디서부터 어떻게 살펴봐야 하는지 알고 싶다.

위와 같은 경험이 있거나 객체지향 프로그래밍을 조금 더 알고 싶으신 분들에게 추천할 만한 책이라 생각합니다.

 

다른 시스템도 마찬가지지만, 객체지향 시스템 또한 단순히 기능 구현이라는 한마디로 표현하기 어렵습니다.

살펴야 할 부분이 많아질수록 복잡도가 눈덩이처럼 불어나기 때문입니다.

세부적으로 파고들자면 끝이 없겠지만, 알고 있어야 하는 핵심과 알아야 할 내용을 정리해서 짚어주고 있습니다.

 

복잡도를 관리하는 가장 좋은 방법은 단순함을 추구하는 것입니다.

이를 위해 필요한 여섯 가지 디자인 원칙을 알려줍니다.

- 코드를 작게 유지

- 객체의 일관성 유지

- 의존성 관리

- 좋은 추상화 디자인

- 인프라와 외부 의존성 처리

- 모듈화

각각 단순함을 추구하면서 서로 영향을 주고받습니다.

 

정답은 없습니다. 어디에나 통하는 규칙도 없습니다. 서비스마다 각자에 맞는 정책과 방향이 있기 때문입니다.

그렇다고 해서 무작정 몸집이 커지고 복잡해지는 클래스를 보고만 있을 수는 없습니다.

구현하고, 개선하며, 확장해 나가는 과정에서 필요한 기준으로 단순함을 제시합니다.

같이 고민하자고 합니다.

 

 

반응형