book
-
훌륭한 객체지향 코드를 얻기 위해서는 클래스가 아니라 객체를 지향해야 한다협력 안에서 객체가 수행하는 책임에 초점을 맞춰야 한다책임이 객체가 수신할 수 있는 메시지의 기반이 된다애플리케이션은 클래스로 구성되지만 메시지를 통해 정의된다. 이번 장은 유연하고 재사용 가능한 퍼블릭 인터페이스를 만드는 데 도움이 되는 설계 원칙과 기법을 살펴보는 것이 주제이다 협력과 메시지객체가 다른 객체에게 접근할 수 있는 유일한 방법은 메시지를 전송하는 것뿐이다.객체는 자신의 희망을 메시지로 전송하고, 이를 수신한 객체는 요청을 적절하게 처리하여 응답한다. 클라이언트-서버 모델두 객체 사이의 협력관계를 설명하기 위해 사용되는 전통적인 클라이언트-서버 모델이다.클라이언트 : 메시지를 전송하는 객체서버 : 메시지를 수신하는 객..
[Object] 6장 : 메시지와 인터페이스훌륭한 객체지향 코드를 얻기 위해서는 클래스가 아니라 객체를 지향해야 한다협력 안에서 객체가 수행하는 책임에 초점을 맞춰야 한다책임이 객체가 수신할 수 있는 메시지의 기반이 된다애플리케이션은 클래스로 구성되지만 메시지를 통해 정의된다. 이번 장은 유연하고 재사용 가능한 퍼블릭 인터페이스를 만드는 데 도움이 되는 설계 원칙과 기법을 살펴보는 것이 주제이다 협력과 메시지객체가 다른 객체에게 접근할 수 있는 유일한 방법은 메시지를 전송하는 것뿐이다.객체는 자신의 희망을 메시지로 전송하고, 이를 수신한 객체는 요청을 적절하게 처리하여 응답한다. 클라이언트-서버 모델두 객체 사이의 협력관계를 설명하기 위해 사용되는 전통적인 클라이언트-서버 모델이다.클라이언트 : 메시지를 전송하는 객체서버 : 메시지를 수신하는 객..
2024.07.09 -
책임에 초점을 맞춰 설계할 때 직면하는 가장 큰 문제는 어떤 객체에게 어떤 책임을 할당할지를 결정하기 어렵다는 점이다.책임 할당 과정은 일종의 트레이트오프 활동이다.책임 주도 설계를 향해데이터 중심의 설계에서 책임 중심의 설계로 전환하기 위한 원칙 데이터보다 행동을 먼저 결정하라 데이터는 객체가 책임을 수행하는 데 필요한 재료를 제공할 뿐이다.객체를 설계하기 위한 질문의 순서를 바꾸자.데이터 중심의 설계 : "이 객체가 포함해야 하는 데이터가 무엇인가" -> "데이터를 처리하는 데 필요한 오퍼레이션은 무엇인가"책임 중심의 설계 : "이 객체가 수행해야 하는 책임은 무엇인가" -> "이 책임을 수행하는 데 필요한 데이터는 무엇인가"협력이라는 문맥 안에서 책임을 결정하라적합한 책임이란 메시지 수신자가 아니라..
[Object] 5장 : 책임 할당하기책임에 초점을 맞춰 설계할 때 직면하는 가장 큰 문제는 어떤 객체에게 어떤 책임을 할당할지를 결정하기 어렵다는 점이다.책임 할당 과정은 일종의 트레이트오프 활동이다.책임 주도 설계를 향해데이터 중심의 설계에서 책임 중심의 설계로 전환하기 위한 원칙 데이터보다 행동을 먼저 결정하라 데이터는 객체가 책임을 수행하는 데 필요한 재료를 제공할 뿐이다.객체를 설계하기 위한 질문의 순서를 바꾸자.데이터 중심의 설계 : "이 객체가 포함해야 하는 데이터가 무엇인가" -> "데이터를 처리하는 데 필요한 오퍼레이션은 무엇인가"책임 중심의 설계 : "이 객체가 수행해야 하는 책임은 무엇인가" -> "이 책임을 수행하는 데 필요한 데이터는 무엇인가"협력이라는 문맥 안에서 책임을 결정하라적합한 책임이란 메시지 수신자가 아니라..
2024.06.17 -
객체지향 설계의 핵심은 책임이다 책임 - 객체지향 애플리케이션 전체의 품질을 결정 객체지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동설계는 변경을 위해 존재하고 변경에는 어떤 식으로든 비용이 발생한다.-> 훌륭한 설계란 합리적인 비용 안에서 변경을 수용할 수 있는 구조를 만드는 것데이터 중심의 영화 예매 시스템객체지향 설계에서 시스템을 객체로 분할하는 두 가지 방법 상태(데이터)를 분할의 중심축으로 : 객체는 자신이 포함하고 있는 데이터를 조작하는 데 필요한 오퍼레이션을 정의 책임을 분할의 중심축으로 : 객체는 다른 객체가 요청할 수 있는 오퍼레이션을 위해 필요한 상태를 보관객체의 상태객체가 저장해야 하는 데이터의 집합 (상태 = 데이터).객..
[Object] 4장 : 설계 품질과 트레이드오프객체지향 설계의 핵심은 책임이다 책임 - 객체지향 애플리케이션 전체의 품질을 결정 객체지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동설계는 변경을 위해 존재하고 변경에는 어떤 식으로든 비용이 발생한다.-> 훌륭한 설계란 합리적인 비용 안에서 변경을 수용할 수 있는 구조를 만드는 것데이터 중심의 영화 예매 시스템객체지향 설계에서 시스템을 객체로 분할하는 두 가지 방법 상태(데이터)를 분할의 중심축으로 : 객체는 자신이 포함하고 있는 데이터를 조작하는 데 필요한 오퍼레이션을 정의 책임을 분할의 중심축으로 : 객체는 다른 객체가 요청할 수 있는 오퍼레이션을 위해 필요한 상태를 보관객체의 상태객체가 저장해야 하는 데이터의 집합 (상태 = 데이터).객..
2024.06.13 -
협력객체지향 원칙을 따르는 애플리케이션의 제어 흐름은 어떤 하나의 객체에 의해 통제되지 않고 다양한 객체들 사이에 균형 있게 분배되는 것이 일반적이다.다양한 객체들이 영화 예매라는 기능을 구현하기 위해 메시지를 주고받으면서 상호작용하고 있다.이처럼 객체들이 애플리케이션의 기능을 구현하기 위해 수행하는 상호작용을 협력이라고 한다.객체가 협력에 참여하기 위해 수행하는 로직은 책임</..
[Object] 3장 : 역할 책임 협력협력객체지향 원칙을 따르는 애플리케이션의 제어 흐름은 어떤 하나의 객체에 의해 통제되지 않고 다양한 객체들 사이에 균형 있게 분배되는 것이 일반적이다.다양한 객체들이 영화 예매라는 기능을 구현하기 위해 메시지를 주고받으면서 상호작용하고 있다.이처럼 객체들이 애플리케이션의 기능을 구현하기 위해 수행하는 상호작용을 협력이라고 한다.객체가 협력에 참여하기 위해 수행하는 로직은 책임</..
2024.06.08