📚 Book/🔎 오브젝트

    오브젝트 :: Chap4 - 설계 품질과 트레이드오프

    오브젝트 :: Chap4 - 설계 품질과 트레이드오프

    책임 주도 설계라는 이름에서 알 수 있듯 역할, 책임, 협력 중에서 가장 중요한 것은 책임 ! 책임이 객체지향 자체의 품질을 결정하는 것. 객제치향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동 ! 설계는 변경을 위해 존재하고 변경에는 어떤 식으로든 비용이 발생한다. 훌륭한 설계란 합리적인 비용 안에서 변경을 수용할 수 있는 구조로 만드는 것이다. 결합도와 응집도를 합리적인 수준으로 유지하려면 객체의 상태가 아니라 객체의 행동에 초점을 맞추어야 한다. 객체를 단순한 데이터의 집합으로 바라보면 객체 내부 구현을 퍼블릭 인터페이스에 노출시키는 결과를 낳기 때문에 설계가 변경에 취약해짐 이번 장에서는 영화 예매 시스템을 책임이 아닌 상태를 표현하는 데이..

    오브젝트 :: Chap3 - 역할, 책임, 협력

    오브젝트 :: Chap3 - 역할, 책임, 협력

    객체지향 패러다임 관점에서 핵심은 역할(role), 책임(responsibility), 협력(collaboration) ! 객체지향의 본질은 협력하는 객체들의 공동체를 창조 하는 것 ! 협력을 구성하기 위해 적절한 객체를 찾고, 적절한 책임을 할당 하는 과정이 핵심이다. 협력 영화 예매 시스템 돌아보기 객체지향 원칙을 따르는 어플리케이션의 제어 흐름은 특정 한 객체에 의해 통제되지 않고 다양한 객체들 사이에 균형 있게 분배되는 것이 일반적이다. 객체들이 어플리케이션의 기능을 구현하기 위해 수행하는 상호작용을 협력 이라고 한다. 객체가 협력에 참여하기 위해 수행하는 로직은 책임, 객체들이 협력 안에서 수행하는 책임들이 모여 객체가 수행하는 역할 을 구성한다. 협력 두 객체 사이 협력은 하나의 객체가 다른 ..

    오브젝트 :: Chap2 - 객체지향 프로그래밍

    오브젝트 :: Chap2 - 객체지향 프로그래밍

    간단한 온라인 영화 예매 시스템을 통해 객체지향 프로그래밍을 접해보자 영화 예매 시스템 용어 영화 : 영화에 대한 기본 정보 (제목, 상영시간, 가격 정보) 상영 : 실제로 관객들이 영화를 관람하는 사건 사용자가 실제로 예매하는 대상은 영화가 아니라 상영 ! 요구사항 특정 조건을 만족하는 예매자는 요금 할인받기 가능 할인액을 결정하는 두 가지 규칙 할인 조건 순서 조건 : 상영 순번을 이용해 할인 여부 결정 예시) 순번이 10인 경우 매일 10번째 상영 영화 할인 기간 조건 : 상영 시작 시간을 이용해 할인 여부 결정 예시) 월요일, 시작시간 오전 10시, 종료시간 오후 1시인 모든 영화 할인 할인 정책 금액 할인 정책 : 예매 요금에서 일정 금액 할인 예시) 영화 9000원, 금액할인정책 800원 → ..

    오브젝트 :: Chap1 - 객체, 설계

    오브젝트 :: Chap1 - 객체, 설계

    무지성으로 개발만 하다가, 설계에 중요성을 느껴 살펴보게 된 책. 객체지향은 무엇일까? 객체지향적으로 설계한다는 것은 뭐지? 객체지향적인 설계는 어떤 장점을 가져다주는가 등등에 대한 해답을 이 책에서 찾아보려고 한다 프로그래밍 패러다임 프로그래밍에서 패러다임이란, 특정 시대에 수용된 프로그래밍 방법과 문제 해결 방법, 프로그래밍 스타일을 의미한다고 볼 수 있다. 어떤 패러다임을 따르느냐에 따라서 문제를 바라보는 방식과 해결하는 방식이 달라진다. 저자는 객체지향 패러다임 을 설명하고자 이 책을 집필했다고 하고 있다. 객체지향에 대한 어느 정도 유사한 그림을 각자의 머릿속에 그리고, 객체지향의 오해를 제거하는 것이 목적 ! 은총알은 없다 - 프레디 브룩스 객체지향 패러다임은 은총알이 아니다. 언제라도 다른 ..