전체 글 (84) 썸네일형 리스트형 오브젝트 6장 - 메시지와 인터페이스 책임은 메시지 기반( 아마도 다형성으로 서로 다른 객체가 같은 책임을 수행할 수 있을 것) 협력설명하기 위한 좋은 예시: 서버-클라이언트 모델 메시지는 결국 = 퍼블릭 인터페이스 좋은 인터페이스 = 최소한의 인터페이스와 추상적인 인터페이스 디미터의 법칙 = 낯선 자와 이야기하지 말아라. 인접한 이웃 하고만 말하라 부끄럼타는 코드 = 낮은 결합도 묻지 말고 시켜라 = 원칙을 따르면 밀접하게 연관된 정보와 행동을 함께 가지는 객체를 만들 수 있다. 의도를 드러내는 인터페이스 = 의도를 드러내는 선택자 디미터 법칙의 예외들 → 자료구조는 내부를 보여줘야 좋음. 설계는 트레이드 오프. 결합도와 응집도의 충돌 명령-쿼리 분리 원칙 프로시저 - 부수효과를 발생시킬 수 있지만, 반환값이 없다. 함수- 부수효과를 발생.. 토비의 스프링 1장 베스트셀러인 이유가 있는 강추책 1.1 초난감 DAO -> 문제점이 많은 DAO클래스를 시작으로 리팩토링하면서 개선해나가는 작업으로 이야기를 풀어나가고 있음 1.2 중복되는 코드 메서드화, 관심사의 분리, 템플릿 메서드, 팩토리 메서드 패턴 소개 1.3 DB와 연결하는 부분을 아예 다른 클래스로 분리, 추상적인 것을 의존하도록 수정 1.4 오브젝트 팩토리 -> 여러가지 DAO를 만들수 있게하고, 제어의 역전 개념 소개(제어권한을 다른 객체에게 위임하는것) 1.5 드디어 스프링을 사용함, 스프링의 용어 설명. ApplicationContext가 어떻게 작동하는지 설명 1.6 싱글톤 레지스트리(싱글톤의 단점을 모두 없앴음), 오브젝트 스코프(기본적으로 싱글톤), stateless의 중요성 1.7 의존관계 주.. 오브젝트 5장 책임 할당하기 책임에 초점을 맞춰서 설계할 때 직면하는 가장 큰 어려움은 어떤 객체에게 어떤 책임을 할당할지를 결정하기가 쉽지 않다는 것. 다양한 책임할당방법이 존재. GRASP 패턴이 책임 할당의 어려움을 해결하기 위한 답을 제시해 줄 것이다. 객체에 책임을 할당하는 기본적인 원리를 살펴보자 책임 주도 설계를 향해 데이터보다는 행동을 결정 객체에게 중요한 것은 데이터가 아니라 외부에 제공하는 행동, 객체의 책임을 의미함. 데이터는 객체가 책임을 수행하는 데 필요한 재료를 제공할뿐이다. 데이터 중심의 질문 흐름 '이 객체가 포함해야 하는 데이터가 무엇인가' → '이 객체가 수행해야 하는 책임은 무엇인가' 객체 중심의 질문 흐름 '이 객체가 수행해야 하는 책임은 무엇인가' → '이 책임을 수행하는 데 필요한 데이터는 무.. 이전 1 ··· 15 16 17 18 19 20 21 ··· 28 다음