책 리뷰 2

객체지향의 사실과 오해 - 객체 지도

이번 챕터는 글로 써 내려가는 것보다 그림을 통해 이해하는 게 쉽다. 길을 묻는 방법은 현재의 마을에서 다른 마을로 이동하는 현재의 요구만을 만족시킬 수 있다. 지도는 현재의 목적뿐만 아니라 다양한 목적을 위해 재사용될 수 있다. 즉 지도는 범용적이다. 훌륭한 기능은 훌륭한 소프트웨어를 만들고 훌륭한 구조는 훌륭한 소프트웨어를 만들기 위한 필요조건이다. 게임 플레이어들은 게임 도메인을 캐릭터와 몬스터, 그리고 아이템 간의 관계로 표현한다. 중고 자동차 판매상은 구매되는 자동차와 판매되는 자동차의 교환으로 자동차 도메인을 바라본다. 코드의 구조가 도메인의 구조를 반영하기 때문에 도메인을 이해하면 코드를 이해하기가 수월해진다. 시스템에 할당된 커다란 책임은 시스템 안의 작은 규모의 객체들이 수행해야 하는 더..

실용주의 프로그래머 TIL (Day 3,4)

오늘 TIL 3줄 요약 DRY 원칙과 ETC (easier to change)를 따르자 예광탄 개발 방법 추정하기 TIL (Today I Learned) 날짜 2022.03.20 - 2022.03.21 오늘 읽은 범위 2장 실용주의 접근법 책에서 기억하고 싶은 내용 1. DRY 원칙과 ETC DRY를 따르지 않으면 똑같은 것이 두 군데 이상에 표현될 것이다. 하나를 바꾸면 나머지도 바꿔야 함을 기억해야 한다. 하지만 모든 코드의 중복이 지식의 중복은 아니라는 것을 알아야한다. 예를 들어, 코드가 동일하지만 표현하고자 하는 지식(목적)이 다를 때다. 각각 서로 다른 것을 검증하지만 우연히 규칙이 같은 것 뿐. 스스로 자꾸 물어보자. '내가 방금 한 일이 전체 시스템을 바꾸기 쉽게 만들까?, 어렵게 만들었을..