본문 바로가기

공부/개발 독서

오브젝트 - 1

반응형

※ 이글은 독자를 전혀 배려하지 않고 그냥 제가 정리하고 싶은 내용 정리하는 글입니다.

~86p

 

객체지향 프로그래밍

- 협력, 객체, 클래스

  o 어떤 클래스가 필요한지 이전에 어떤 객체들이 필요한지 고민하라.

  o 객체를 독립적인 존재가 아닌 공동체의 일원으로 봐야 한다.

 

클래스는 도메인과 최대한 유사하게 만들어야 한다.

(가능하다면 기획서에 있는 구조로 클래스를 짜야지)

 

TEMPLATE METHOD 패턴 - 부모 클래스에 기본적 알고리즘의 흐름을 구현하고, 중간에 필요한 처리를 자식 클래스에게 위임하는 패턴

 

영화 예매 시스템 예제

클래스 사이의 의존성은 객체 사이의 의존성이랑 다를 수 있음 (런타임 결정)

설계가 유연해질수록 코드를 이해하고 디버깅하기는 점점 더 어려워진다.

 

협력이 설계를 위한 문맥을 결정한다.

협력이라는 문맥을 고려하지 않고 행동을 결정하는 것은 아무런 의미가 없다.

 

책임이란 무엇인가

- '무엇을 알고 있는가'와 '무엇을 할 수 있는가'

- 책임은 메시지보다 추상적이고 개념적으로도 더 크다

- 객체지향 개발에서 가장 중요한 능력은 책임을 능숙하게 소프트웨어 객체에 할당하는 것

- 책임주도설계(RDD): 책임을 갖고 책임을 수행할 적절한 객체를 찾아 책임을 할당하는 방식으로 협력을 설계하는 방법

  1) 메시지가 객체를 결정한다

  2) 행동이 상태를 결정한다.

 

 

 

반응형