오브젝트

조영호
656p
구매 가능한 곳
별점 그래프
평균4.3(14명)
평가하기
4.3
평균 별점
(14명)
역할, 책임, 협력에 기반해 객체지향 프로그램을 설계하고 구현하는 방법, 응집도와 결합도를 이용해 설계를 트레이드오프하는 방법, 설계를 유연하게 만드는 다양한 의존성 관리 기법, 타입 계층을 위한 상속과 코드 재사용을 위한 합성의 개념, 다양한 설계 원칙과 디자인 패턴 등을 다룬다.

[디아스포라영화제 개최]

단, 5일 간 인천에서 만나요!

디아스포라영화제 · AD

별점 그래프
평균4.3(14명)

[디아스포라영화제 개최]

단, 5일 간 인천에서 만나요!

디아스포라영화제 · AD

저자/역자

목차

▣ 들어가며: 프로그래밍 패러다임 01 패러다임의 시대 02 프로그래밍 패러다임 ▣ 1장: 객체, 설계 01. 티켓 판매 애플리케이션 구현하기 02. 무엇이 문제인가 ___예상을 빗나가는 코드 ___변경에 취약한 코드 03. 설계 개선하기 ___자율성을 높이자 ___무엇이 개선됐는가 ___어떻게 한 것인가 ___캡슐화와 응집도 ___절차지향과 객체지향 ___책임의 이동 ___더 개선할 수 있다 ___그래, 거짓말이다! 04. 객체지향 설계 ___설계가 왜 필요한가 ___객체지향 설계 ▣ 2장: 객체지향 프로그래밍 01. 영화 예매 시스템 ___ 요구사항 살펴보기 02. 객체지향 프로그래밍을 향해 ___ 협력, 객체, 클래스 ___ 도메인의 구조를 따르는 프로그램 구조 ___ 클래스 구현하기 ___ 협력하는 객체들의 공동체 ___ 협력에 관한 짧은 이야기 03. 할인 요금 구하기 ___ 할인 요금 계산을 위한 협력 시작하기 ___ 할인 정책과 할인 조건 ___ 할인 정책 구성하기 04. 상속과 다형성 ___ 컴파일 시간 의존성과 실행 시간 의존성 ___ 차이에 의한 프로그래밍 ___ 상속과 인터페이스 ___ 다형성 ___ 인터페이스와 다형성 05. 추상화와 유연성 ___ 추상화의 힘 ___ 유연한 설계 ___ 추상 클래스와 인터페이스 트레이드오프 ___ 코드 재사용 ___ 상속 ___ 합성 ▣ 3장: 역할, 책임, 협력 01. 협력 ___ 영화 예매 시스템 돌아보기 ___ 협력 ___ 협력이 설계를 위한 문맥을 결정한다 02. 책임 ___ 책임이란 무엇인가 ___ 책임 할당 ___ 책임 주도 설계 ___ 메시지가 객체를 결정한다 ___ 행동이 상태를 결정한다 03. 역할 ___ 역할과 협력 ___ 유연하고 재사용 가능한 협력 ___ 객체 대 역할 ___ 역할과 추상화 ___ 배우와 배역 ▣ 4장: 설계 품질과 트레이드오프 01. 데이터 중심의 영화 예매 시스템 ___ 데이터를 준비하자 ___ 영화를 예매하자 02. 설계 트레이드오프 ___ 캡슐화 ___ 응집도와 결합도 03. 데이터 중심의 영화 예매 시스템의 문제점 ___ 캡슐화 위반 ___ 높은 결합도 ___ 낮은 응집도 ___ 캡슐화를 지켜라 04. 자율적인 객체를 향해 ___ 스스로 자신의 데이터를 책임지는 객체 ___ 캡슐화 위반 05. 하지만 여전히 부족하다 ___ 높은 결합도 ___ 낮은 응집도 ___ 데이터 중심 설계는 객체의 행동보다는 상태에 초점을 맞춘다 06. 데이터 중심 설계의 문제점 ___ 데이터 중심 설계는 객체를 고립시킨 채 오퍼레이션을 정의하도록 만든다 ▣ 5장: 책임 할당하기 01. 책임 주도 설계를 향해 ___ 데이터보다 행동을 먼저 결정하라 ___ 협력이라는 문맥 안에서 책임을 결정하라 ___ 책임 주도 설계 02. 책임 할당을 위한 GRASP 패턴 ___ 도메인 개념에서 출발하기 ___ 정보 전문가에게 책임을 할당하라 ___ 높은 응집도와 낮은 결합도 ___ 창조자에게 객체 생성 책임을 할당하라 03. 구현을 통한 검증 ___ DiscountCondition 개선하기 ___ 타입 분리하기 ___ 다형성을 통해 분리하기 ___변경으로부터 보호하기 ___ Movie 클래스 개선하기 ___ 변경과 유연성 04. 책임 주도 설계의 대안 ___ 메서드 응집도 ___ 객체를 자율적으로 만들자 ▣ 6장: 메시지와 인터페이스 01. 협력과 메시지 ___ 클라이언트-서버 모델 ___ 메시지와 메시지 전송 ___ 메시지와 메서드 ___ 퍼블릭 인터페이스와 오퍼레이션 ___ 시그니처 02. 인터페이스와 설계 품질 ___ 묻지 말고 시켜라 ___ 의도를 드러내는 인터페이스 ___ 함께 모으기 03. 원칙의 함정 ___ 디미터 법칙은 하나의 도트(.)를 강제하는 규칙이 아니다 ___ 결합도와 응집도의 충돌 04. 명령-쿼리 분리 원칙 ___ 반복 일정의 명령과 쿼리 분리하기 ___ 명령-쿼리 분리와 참조 투명성 ___ 책임에 초점을 맞춰라 ▣ 7장: 객체 분해 01. 프로시저 추상화와 데이터 추상화 02. 프로시저 추상화와 기능 분해 ___ 메인 함수로서의 시스템 ___ 급여 관리 시스템 ___ 급여 관리 시스템 구현 ___ 하향식 기능 분해의 문제점 ___ 언제 하향식 분해가 유용한가? 03. 모듈 ___ 정보 은닉과 모듈 ___ 모듈의 장점과 한계 04. 데이터 추상화와 추상 데이터 타입 ___ 추상 데이터 타입 05. 클래스 ___ 클래스는 추상 데이터 타입인가? ___ 추상 데이터 타입에서 클래스로 변경하기 ___ 변경을 기준으로 선택하라 ___ 협력이 중요하다 ▣ 8장: 의존성 관리하기 01. 의존성 이해하기 ___ 변경과 의존성 ___ 의존성 전이 ___ 런타임 의존성과 컴파일타임 의존성 ___ 컨텍스트 독립성 ___ 의존성 해결하기 02. 유연한 설계 ___ 의존성과 결합도

출판사 제공 책 소개

역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라! 객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두번째 걸음은 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 존재로 바라보는 것이다. 세번째 걸음을 내디딜 수 있는지 여부는 협력에 참여하는 객체 들에게 얼마나 적절한 역할과 책임을 부여할 수 있느냐에 달려 있다. 객체지향의 마지막 걸음은 앞에서 설명한 개념들을 여러분이 사용하는 프로그래밍 언어라는 틀에 흐트러짐 없이 담아낼 수 있는 기술을 익히는 것이다. 《객체지향의 사실과 오해》가 첫번째 걸음과 두번째 걸음인 객체와 협력에 초점을 맞췄다면 《오브젝트: 코드로 이해하는 객체지향 설계》는 세번째와 네번째 걸음인 책임의 할당과 그 구현에 초점을 맞춘다. 이 책을 읽고 나면 객체에 적절한 역할과 책임을 부여하는 방법과 유연하면서도 요구사항에 적절한 협력을 설계하는 방법을 익히게 될 것이다. 나아가 프로그래밍 언어라는 도구를 이용해 객체지향의 개념과 원칙들을 오롯이 표현할 수 있는 방법 역시 익힐 수 있을 것이다. ★ 이 책에서 다루는 내용 ★ ◎ 역할, 책임, 협력에 기반해 객체지향 프로그램을 설계하고 구현하는 방법 ◎ 응집도와 결합도를 이용해 설계를 트레이드오프하는 방법 ◎ 설계를 유연하게 만드는 다양한 의존성 관리 기법 ◎ 타입 계층을 위한 상속과 코드 재사용을 위한 합성의 개념 ◎ 다양한 설계 원칙과 디자인 패턴

이 작품이 담긴 컬렉션

4
  • 데이터 출처
  • 서비스 이용약관
  • 개인정보 처리방침
  • 회사 안내
  • © 2024 by WATCHA, Inc. All rights reserved.