728x90

개발 서적 기록/오브젝트_조영호 39

20일차 - 런타임과 컴파일 시점의 의존성을 위해 컨텍스트는 독립되어야한다

2023.08.22 TUE 247p ~ 263p 19일차 내용 ⬇️ 2023.08.21 - [개발 서적 기록] - 19일차 - 모듈로 정보 은닉하기 19일차 - 모듈로 정보 은닉하기 2023.08.21 MON 234p ~ 249p 18일차 내용 ⬇️ 2023.08.21 - [개발 서적 기록/오브젝트_조영호] - 18일차 - 하향식 기능 분해 설계 18일차 - 하향식 기능 분해 설계 2023.08.20 SUN 223p ~ 234p 17일차 내용 ⬇️ 2023.08.19 magenta-ming.tistory.com 시점에 따른 의존성 실행 시점에서는, 의존하는 객체가 정상적으로 동작하기 위해서 의존 대상 객체가 반드시 존재해야한다. 반면, 구현 시점에서는, 의존 대상 객체가 변경될 경우, 의존하는 객체도 함..

18일차 - 하향식 기능 분해 설계

2023.08.20 SUN 223p ~ 234p 17일차 내용 ⬇️ 2023.08.19 - [개발 서적 기록/오브젝트_조영호] - 17일차 - 프로시저 추상화와 데이터 추상화 17일차 - 프로시저 추상화와 데이터 추상화 2023.08.18 FRI 214p ~ 224p 16일차 내용 ⬇️ 2023.08.19 - [개발 서적 기록/오브젝트_조영호] - 16일차 - 캡슐화가 적절지 않은 경우와 명령 쿼리 분리 원칙 16일차 - 캡슐화가 적절지 않은 경우와 명령 쿼리 magenta-ming.tistory.com 하향식 기능 분해 / 하향식 접근법 시스템을 구성하는 가장 최상위 기능을 정의하고, 이 최상위 기능을 좀 더 작은 단계의 하위 기능으로 분해해 나가는 방법이다. 전통적인 기능 분해 방법이다. 최상위의 추..

17일차 - 프로시저 추상화와 데이터 추상화

2023.08.18 FRI 214p ~ 224p 16일차 내용 ⬇️ 2023.08.19 - [개발 서적 기록/오브젝트_조영호] - 16일차 - 캡슐화가 적절지 않은 경우와 명령 쿼리 분리 원칙 16일차 - 캡슐화가 적절지 않은 경우와 명령 쿼리 분리 원칙 2023.08.18 FRI 199p ~ 213p 15일차 내용 ⬇️ 2023.08.18 - [개발 서적 기록/오브젝트_조영호] - 15일차 - 퍼블릭 인터페이스 만들기 15일차 - 퍼블릭 인터페이스 만들기 2023.08.18 FRI 183p ~ 198p 14일차 내용 ⬇️ 2 magenta-ming.tistory.com 분해를 통한 추상화 구현 불필요한 정보를 제거하고, 현재의 문제 해결에 필요한 핵심만 남기면서 추상화를 실현할 수 있다. 이런 추상화를..

16일차 - 캡슐화가 적절지 않은 경우와 명령 쿼리 분리 원칙

2023.08.18 FRI 199p ~ 213p 15일차 내용 ⬇️ 2023.08.18 - [개발 서적 기록/오브젝트_조영호] - 15일차 - 퍼블릭 인터페이스 만들기 15일차 - 퍼블릭 인터페이스 만들기 2023.08.18 FRI 183p ~ 198p 14일차 내용 ⬇️ 2023.08.15 - [개발 서적 기록/오브젝트_조영호] - 14일차 - 협력, 메시지, 퍼블릭 인터페이스, 오퍼레이션 14일차 - 협력, 메시지, 퍼블릭 인터페이스, 오퍼레이션 magenta-ming.tistory.com 디미터 법칙은 어떤 객체와 결합되어 있는지를 고려하는 것이다. 협력을 제한하는 디미터 법칙에서, 한개의 dot(.)을 쓰는 것을 권장했다. 하지만 이 말은 어떤 객체와 결합되는지에 따라 다르다. IntStream...

15일차 - 퍼블릭 인터페이스 만들기

2023.08.18 FRI 183p ~ 198p 14일차 내용 ⬇️ 2023.08.15 - [개발 서적 기록/오브젝트_조영호] - 14일차 - 협력, 메시지, 퍼블릭 인터페이스, 오퍼레이션 14일차 - 협력, 메시지, 퍼블릭 인터페이스, 오퍼레이션 2023.08.15 TUE 169p ~ 185p 13일차 내용 ⬇️ 2023.08.15 - [개발 서적 기록/오브젝트_조영호] - 13일차 - 다형성을 고려하자. 메서드를 분해하자. 13일차 - 다형성을 고려하자. 메서드를 분해하자. 2023.08.14 FRI magenta-ming.tistory.com 퍼블릭 인터페이스 만들기 : 협력 경로를 제한하자, 직접 상태를 판단해서 결정하지 말자. 객체의 내부 구조에 강하게 결합되지 않도록 협력 경로를 제한하라. (..

14일차 - 협력, 메시지, 퍼블릭 인터페이스, 오퍼레이션

2023.08.15 TUE 169p ~ 185p 13일차 내용 ⬇️ 2023.08.15 - [개발 서적 기록/오브젝트_조영호] - 13일차 - 다형성을 고려하자. 메서드를 분해하자. 13일차 - 다형성을 고려하자. 메서드를 분해하자. 2023.08.14 FRI 153p ~ 171p 12일차 내용 ⬇️ 2023.08.13 - [개발 서적 기록/오브젝트_조영호] - 12일차 - 변경될 가능성이 있는 클래스를 찾아라 12일차 - 변경될 가능성이 있는 클래스를 찾아라 2023.08.12 SAT 14 magenta-ming.tistory.com 잘게 쪼개서 응집도 높은 메서드 만들기 코드를 작은 메서드로 분해하면, 전체적인 흐름을 이해하기 쉬워진다. 기억해야하는 정보를 줄일 수 있다. 더 세부적인 정보가 필요하면..

13일차 - 다형성을 고려하자. 메서드를 분해하자.

2023.08.14 FRI 153p ~ 171p 12일차 내용 ⬇️ 2023.08.13 - [개발 서적 기록/오브젝트_조영호] - 12일차 - 변경될 가능성이 있는 클래스를 찾아라 12일차 - 변경될 가능성이 있는 클래스를 찾아라 2023.08.12 SAT 140p ~ 155p 11일차 내용 ⬇️ 2023.08.11 - [개발 서적 기록/오브젝트_조영호] - 11일차 - 책임 주도 설계로 전환하기 11일차 - 책임 주도 설계로 전환하기 2023.08.11 FRI 130p ~ 141p 10일차 내용 ⬇️ magenta-ming.tistory.com 다형성을 생각하라 객체의 암시적인 타입에 따라서 행동을 분기해야할 때, 다형성을 이용하라. 암시적인 타입을 명시적인 클래스로 정의하고, 행동을 나워서 응집도를 ..

12일차 - 변경될 가능성이 있는 클래스를 찾아라

2023.08.12 SAT 140p ~ 155p 11일차 내용 ⬇️ 2023.08.11 - [개발 서적 기록/오브젝트_조영호] - 11일차 - 책임 주도 설계로 전환하기 11일차 - 책임 주도 설계로 전환하기 2023.08.11 FRI 130p ~ 141p 10일차 내용 ⬇️ 2023.08.10 - [개발 서적 기록/오브젝트_조영호] - 10일차 - 진정한 캡슐화는 변경 가능한 모든 것을 내부에 숨긴다 10일차 - 진정한 캡슐화는 변경 가능한 모든 magenta-ming.tistory.com 여러 대안이 존재할 때는, 응집도와 결합도를 고려하라 책임을 할당할 때는, 책임을 수행할 정보를 알고 있는 객체에게 책임을 할당하는 것이 첫번째 원칙이다. ( 이것이 INFORMATION EXPERT 패턴이다. ) ..

11일차 - 책임 주도 설계로 전환하기

2023.08.11 FRI 130p ~ 141p 10일차 내용 ⬇️ 2023.08.10 - [개발 서적 기록/오브젝트_조영호] - 10일차 - 진정한 캡슐화는 변경 가능한 모든 것을 내부에 숨긴다 10일차 - 진정한 캡슐화는 변경 가능한 모든 것을 내부에 숨긴다 2023.08.10 THU 117p ~ 130p 9일차 내용 ⬇️ 2023.08.09 - [개발 서적 기록/오브젝트_조영호] - 9일차 - 캡슐화, 응집도 그리고 결합도 9일차 - 캡슐화, 응집도 그리고 결합도 2023.08.09 WED 107p ~ 118p 8일차 내용 magenta-ming.tistory.com 데이터 중심 설계가 변경에 취약한 이유 데이터 중심의 설계는 너무 이른 시기에 데이터에 관해 결정하도록 강요한다. 데이터 중심의 설계..

10일차 - 진정한 캡슐화는 변경 가능한 모든 것을 내부에 숨긴다

2023.08.10 THU 117p ~ 130p 9일차 내용 ⬇️ 2023.08.09 - [개발 서적 기록/오브젝트_조영호] - 9일차 - 캡슐화, 응집도 그리고 결합도 9일차 - 캡슐화, 응집도 그리고 결합도 2023.08.09 WED 107p ~ 118p 8일차 내용 ⬇️ 2023.08.09 - [개발 서적 기록/오브젝트_조영호] - 8일차 - 추상화를 통한 역할 부여 그리고 책임 중심 설계 8일차 - 추상화를 통한 역할 부여 그리고 책임 중심 설 magenta-ming.tistory.com 새로운 데이터 타입을 정의할 때는 데이터와 오퍼레이션을 고려하자 상태와 행동을 객체라는 하나의 단위로 묶는 이유는 객체 스스로 자신의 상태를 처리할 수 있게하기 위해서다. 객체 내부에 저장되는 데이터보다, 객체가..

728x90