반응형
※ 이글은 독자를 전혀 배려하지 않고 그냥 제가 정리하고 싶은 내용 정리하는 글입니다.
~86p
객체지향 프로그래밍
- 협력, 객체, 클래스
o 어떤 클래스가 필요한지 이전에 어떤 객체들이 필요한지 고민하라.
o 객체를 독립적인 존재가 아닌 공동체의 일원으로 봐야 한다.
클래스는 도메인과 최대한 유사하게 만들어야 한다.
(가능하다면 기획서에 있는 구조로 클래스를 짜야지)
TEMPLATE METHOD 패턴 - 부모 클래스에 기본적 알고리즘의 흐름을 구현하고, 중간에 필요한 처리를 자식 클래스에게 위임하는 패턴
영화 예매 시스템 예제
클래스 사이의 의존성은 객체 사이의 의존성이랑 다를 수 있음 (런타임 결정)
설계가 유연해질수록 코드를 이해하고 디버깅하기는 점점 더 어려워진다.
협력이 설계를 위한 문맥을 결정한다.
협력이라는 문맥을 고려하지 않고 행동을 결정하는 것은 아무런 의미가 없다.
책임이란 무엇인가
- '무엇을 알고 있는가'와 '무엇을 할 수 있는가'
- 책임은 메시지보다 추상적이고 개념적으로도 더 크다
- 객체지향 개발에서 가장 중요한 능력은 책임을 능숙하게 소프트웨어 객체에 할당하는 것
- 책임주도설계(RDD): 책임을 갖고 책임을 수행할 적절한 객체를 찾아 책임을 할당하는 방식으로 협력을 설계하는 방법
1) 메시지가 객체를 결정한다
2) 행동이 상태를 결정한다.
반응형
'공부 > 개발 독서' 카테고리의 다른 글
오브젝트 - 3 (0) | 2023.04.02 |
---|---|
오브젝트 - 2 (0) | 2023.03.26 |
추억속 아케이드 게임을 이끌어 온 기술 ~ 1990(완) (0) | 2023.01.10 |
추억속 아케이드 게임을 이끌어 온 기술 ~ 1982 (0) | 2022.12.11 |
추억속 아케이드 게임을 이끌어 온 기술 ~ 1979 (1) | 2022.12.03 |