[Book] 7. 함께 모으기
·
북 스터디/객체지향의 사실과 오해
코드와 모델을 밀접가게 연관시키는 것은 코드에 의미를 부여하고, 모델을 적절하게 한다.책의 저자는 마틴 파울러의 UML Distilled2판에서 나온 객체지향 설계 안에 존재하는 세가지 상호 연관된 관점에 관해 설명한다.개념관점명세관점구현 관점 개념관점개념관점 설계는 개념과 개념들 사이의 관계를 표현하며, 도메인이란 사용자들이 관심을 가지고 특정 분야나 주제를 말한다.소프트 웨어는 도메인에 존재하는 문제를 해결하기 위해 개발되며, 이 관점은 사용자가 도메인을 바라보는 관점을 반영하는 것이다.명세관점명세 관점은 사용자의 관심영역인 도메인에서 벗어나 개발자의 영역인 소프트웨어로 초점이 옮겨진다. 실제로 소프트웨어에서 살아 숨쉬는 객체들의 책임에 초점을 맞추게 된다. 즉, 객체들의 인터페이스를 바라보게 된다...
[Book] 6.객체 지도
·
북 스터디/객체지향의 사실과 오해
기능적이고 해결책 지향적인 접근 VS 구조적이고 문제 지향적인 접근 이번 챕터에서 다룰 내용의 핵심은 객체를 역할과, 기능으로 분리하여 협력을하는 객체지향 세계를 설명했다면, 이번 챕터에서는 기능이 아닌 구조를 바탕으로 시스템을 분할하는 또 다른 측면을 제시한다.  책의 화자는 누군가가 여행중에 다른 마을로 이동을 해야하는데, 길을 몰라서 물어보는 상황을 제시하며 시작한다. 여기에는 2가지 접근법이 존재한다고 한다.기능적이며 해결책 지향적인 접근법해당 방식은 길을 가르쳐 주는 사람은 다른 마을 까지 가능 경로를 단계별로 상세히 설명해야 한다.'를 따라 ~Km 정도 직진하면 ~가 나오는데 ~~... 등등' 꽤나 친절하고 구체적으로 해당 마을을 가는 방식을 제시 한다.해당 방식의 문제점은 일반적이지도 않으며..
[Book] 5.책임과 메시지
·
북 스터디/객체지향의 사실과 오해
의도는 메시징이다. 훌룡하고 성장 가능한 시스템의 핵심은 모듈이 어떻게 커뮤니케이션 하는 가에 달려있다. 자율적인 책임객체가 어떤 행동을 하는 유일한 이유는 다른 객체로부터 요청을 수신했기 때문이다. 요청을 처리하기 위해 객체가 수행하는 행동을 책임이라고한다. 따라서 자율적인 객체란 스스로의 의지와 판단에 따라 각자 맡은 책임을 수행하는 객체를 의미한다. 객체지향 설계의 아름다움은 적절한 책임을 적절한 객체에게 할당하는 과정 속에서 드러난다. 객체지향 애플리케이션을 설계하는 가장 널리 알려진 방법을 책임-주도 설계라고 부르는 이유는 적절한 책임의 선택이 전체 설계의 방향을 결정하기 때문이다. 객체가 책임을 자율적으로 수행하기 위해서는 객체에게 할당되는 책임이 자율적이어야 한다. 예를들어 모자 장수는 왕에..
[Book] 4.역할, 책임, 협력
·
북 스터디/객체지향의 사실과 오해
우리 모두를 합친 것보다 현명한 사람은 없다.책에서는 위의 글귀를 시작으로 이상한 나라의 앨리스에서 벌어지는 재판과정을 예로 보여준다. 협력은 한사람이 다른 사람에게 도움을 요청할 때 시작된다.밑에 재판 과정을 나타낸 요청과 응답의 사이클을 한번 봐보자.누군가가 왕에게 재판을 요청왕이 하얀 토끼에게 증인을 부를 것을 요청왕의 요청을 받은 토끼는 모자 장수에게 증인석으로 입장 요청모자 장수는 증인석에 입장함으로써 토끼의 요청에 응답모자 장수의 입장은 왕이 토끼에게 요청했던 증인 호출에 대한 응답이기도 하다이제 왕은 모자 장수에게 증언할 것을 요청모자 장수는자신이 알고 있는 내용을 증언함으로써 왕의 요청에 응답훌룡한 객체를 설계하기 위해서는 먼저 협력이라는 단어 속에 내포된 다양한 특성을 두루 살펴볼 필요가..
[Book] 3. 타입과 추상화
·
북 스터디/객체지향의 사실과 오해
컴퓨터를 조작하는 것은 '추상화를 구축하고 조작하고, 추론하는 것에 관한 모든 것이라는 것'을 깨다는 것이다. 책에서는 지하철 노선도에 대한 설명이 나온다. 초기의 지하철 노선도는 승객들의 목적에 맞지 않은 사실적인 지형과 거리를 나타낸 지도의 목적에 맞게 설계되어서 나온 지하철 노선도가 나온다. 허나 이는 승객들의 의도와 맞지 않았고, 불필요한 정보를 많이 담고있었다.승객들이 지하철 노선도를 보는 목적 자체는 타는 곳과, 내릴 곳, 그리고 환승할 곳을 보는 것에 가깝다. 이를 위해 기존의 지하철 노선도를 개편한 승객들의 목적에 맞는 지하철 노선도가 탄생했다. 승객들의 목적에 맞는 지하철 노선도는 실제의 지형과, 거리를 전혀 계산하지 않은 오로지 승객이 지하철을 이용하는 목적에 맞게 나온 것이다. 따라서..
[Book] 2. 이상한 나라의 객체
·
북 스터디/객체지향의 사실과 오해
2장에서는 '이상한 나라의 앨리스'에 관련된 책의 일화를 소개하면서, 객체가 가져야 하는 책임과, 행동에 대해서 자세하게 설명한다.  지식을 추상화, 추상화한 지식을 캡슐화 하는 것, 객체를 발견하고 창조하는 것은 지식과 행동을 구조화 하는 문제이다.추상화란 세상이 포함하고 있는 복잡성을 극복하기 위한 것객체란 인간이 분명하기 인지하고 구별할 수 있는 물리적인 또는 개념적인 경계를 지닌 어떤 것이다.- 객체의 특징객체가 한 행동의 결과는 객체 상태에 의존적이다.문을 통과하는 행동이 성공하려면 음료나 케이크를 먹는 행동이 선행되어야만 한다. 객체는 상태 변경과 무관하게 유일한 존재로 식별 가능하다.객체는 상태를 가지며 상태는 변경 가능하다.객체의 상태를 변경시키는 것은 객체의 행동이다.  public cl..
[Book] 1장. 협력하는 객체들의 공동체
·
북 스터디/객체지향의 사실과 오해
1장에서는 객체란 무엇인지, 역할, 책임, 협력에 관해 우리의 있을 법한 일상생활을 예로들며 설명을 하는 내용을 담고있다.   1. 협력하는 객체들의 공동체21p. 추상화 : 방화벽이 화재의 확산을 막는 것이 아니라 네트워크 침입을 막는다고 해서 문제될 것이 있는가??해당 구문에서 어떠한 객체를 설계 한다는 가정하에, 항상 그 객체의 역할을 생각해보며 추상화 하는 시간을 가져야 한다는 것을 느꼈다. 방화벽이란 : "방화" 화재를 막는다는 의미의 단어이지만, 해당 단어의 역할 및 책임은 "막다" 이므로 문제될 것이 없다.21p. 객체지향의 목표는 실세계를 모방하는 것이 아닌 새로운 세계를 창조하는 것(고객과 사용자를 만족시킬 수 있는 세계).27p. 역할과 책임 : 객체들은 다른 객체와 협력하는 과정에서 ..
cheolhyeon
'북 스터디' 카테고리의 글 목록