목록Object (2)
결국엔 프로그래밍
예제에 관해 2장은 예제로 영화 예매 시스템을 다루고 있다. 예제의 특징 중 하나를 짚고 넘어가자면, '영화'와 '상영'을 구분짓고 있다. '영화'란 영화 그 자체를 말한다. 기본적인 영화의 제목, 상영 기간 등의 정보를 갖고 있다. '상영'은 우리가 흔히 예매하는 대상을 의미한다. '영화'와 상영 시간 등의 정보를 갖고 있다. 각 '영화'는 하나의 '할인 정책'을 갖는다. 그리고 '할인 조건'은 복수될 수 있다. 객체지향 프로그래밍을 할 때 1) 어떤 객체들이 필요한지 고민하라. 객체를 중심에 두는 접근 방법은 설계를 단순하고 깔끔하게 만든다. 2) 각 객체를 협력하는 공동체의 일원으로 보라. 객체를 협력하는 공동체의 일원으로 보는 것은 설계를 유연하고 확장 가능하게 만든다. 도메인의 구조를 따르는 프..
패러다임 현대의 패러다임이란, 한 시대 혹은 사회 전체가 공유하는 이론이나 방법, 문제의식 등의 체계 이 책에서 패러다임의 전환이란, 절차형 패러다임에서 객체지향 패러다임으로의 변화를 의미 프로그래밍 패러다임 개발자 공동체가 동일한 프로그래밍 스타일과 모델을 공유할 수 있게 하고, 불필요한 부분에 대한 의견 충돌을 방지함 프로그래밍 패러다임을 교육시킴으로써 동일한 규칙과 방법을 공유하는 개발자로 성장할 수 있도록 준비시킴 모듈은 1) 실행이 가능해야 하고 2) 변경에 용이해야 하며 3) 코드를 통해 의사소통이 가능해야 한다 설계의 목표 설계의 목표는 결합도를 낮춰 변경이 용이한 설계를 만드는 것이다. 캡슐화를 통해 객체 내부로의 접근을 제한, 객체와 객체 사이의 결합도를 낮출 수 있고 설계를 좀 더 쉽게..