728x90

캡슐화 10

38, 39일차 - 일관성 있는 설계와 캡슐화

2023.09.20 WED 483p ~ 504p 37일차 내용 ⬇️ 2023.09.18 - [개발 서적 기록/오브젝트_조영호] - 36, 37일차 - 계약에 의한 설계 36, 37일차 - 계약에 의한 설계 2023.09.18 MON 460p ~ 482p 35일차 내용 ⬇️ 2023.09.15 - [개발 서적 기록/오브젝트_조영호] - 35일차 - 상속의 목적 : 서브클래싱 & 서브타이핑 그리고 ISP & LSP 35일차 - 상속의 목적 : 서브클래싱 & 서브타이 magenta-ming.tistory.com 비일관성의 문제점 1. 새로운 구현을 추가할때, 추가하면 할수록 코드 사이의 일관성이 더 어긋난다. 2. 구현 방식이 서로 달라 코드를 이해하는데 방해가 된다. 따라서 유사한 기능을 서로 다른 방식으로..

카테고리 없음 2023.09.21

25일차 - 상속의 위험성 : 결합도 증가&캡슐화 감소

2023.09.04 MON 322p ~ 335p 24일차 내용 ⬇️ 2023.08.29 - [개발 서적 기록/오브젝트_조영호] - 24일차 - DIP와 중복 코드 제거하기 24일차 - DIP와 중복 코드 제거하기 2023.08.29 TUE 300p ~ 322p 23일차 내용 ⬇️ 2023.08.25 - [개발 서적 기록/오브젝트_조영호] - 23일차 - 의존성 주입 23일차 - 의존성 주입 2023.08.25 FRI 289p ~ 304p 22일차 내용 ⬇️ 2023.08.24 - [개발 서적 기록/오 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 퍼블릭 인터페이스 만들기 : 협력 경로를 제한하자, 직접 상태를 판단해서 결정하지 말자. 객체의 내부 구조에 강하게 결합되지 않도록 협력 경로를 제한하라. (..

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 다형성을 생각하라 객체의 암시적인 타입에 따라서 행동을 분기해야할 때, 다형성을 이용하라. 암시적인 타입을 명시적인 클래스로 정의하고, 행동을 나워서 응집도를 ..

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 새로운 데이터 타입을 정의할 때는 데이터와 오퍼레이션을 고려하자 상태와 행동을 객체라는 하나의 단위로 묶는 이유는 객체 스스로 자신의 상태를 처리할 수 있게하기 위해서다. 객체 내부에 저장되는 데이터보다, 객체가..

9일차 - 캡슐화, 응집도 그리고 결합도

2023.08.09 WED 107p ~ 118p 8일차 내용 ⬇️ 2023.08.09 - [개발 서적 기록/오브젝트_조영호] - 8일차 - 추상화를 통한 역할 부여 그리고 책임 중심 설계 8일차 - 추상화를 통한 역할 부여 그리고 책임 중심 설계 2023.08.08 TUE 90p ~ 107p 7일차 내용 ⬇️ 2023.08.08 - [개발 서적 기록/오브젝트_조영호] - 7일차 - 적절한 책임과 적합한 역할 7일차 - 적절한 책임과 적합한 역할 2023.08.07 MON 77p ~ 91p 6일차 내용 ⬇️ 2023.0 magenta-ming.tistory.com 캡슐화 객체를 사용하면 변경 가능성이 높은 부분은 내부에 숨기고 외부에는 상대적으로 안정적인 부분만 공개함으로써, 변경의 여파를 통제할 수 있다..

7일차 - 적절한 책임과 적합한 역할

2023.08.07 MON 77p ~ 91p 6일차 내용 ⬇️ 2023.08.07 - [개발 서적 기록/오브젝트_조영호] - 6일차 - 합성을 통한 코드 재사용과 협력 6일차 - 합성을 통한 코드 재사용과 협력 2023.08.06 SUN 65p ~ 77p 5일차 내용 ⬇️ 2023.08.04 - [개발 서적 기록/오브젝트_조영호] - 5일차 - 상속과 다형성의 목적 5일차 - 상속과 다형성의 목적 2023.08.04 FRI 50p ~ 64p 4일차 내용 ⬇️ 2023.08.04 - [개발 magenta-ming.tistory.com 객체의 행동의 책임 객체지향의 넓은 관점에서 객체는 협력, 책임, 역할으로 구성되어 있다. 그 중, 협력에 참여하기 위해 객체가 수행하는 행동이 책임이다. 이런 책임을 정의..

6일차 - 합성을 통한 코드 재사용과 협력

2023.08.06 SUN 65p ~ 77p 5일차 내용 ⬇️ 2023.08.04 - [개발 서적 기록/오브젝트_조영호] - 5일차 - 상속과 다형성의 목적 5일차 - 상속과 다형성의 목적 2023.08.04 FRI 50p ~ 64p 4일차 내용 ⬇️ 2023.08.04 - [개발 서적 기록/오브젝트_조영호] - 4일차 - 객체 지향 설계를 위한 자세 4일차 - 객체 지향 설계를 위한 자세 2023.08.03 THU 33p ~ 50p 3일차 내용 ⬇️ 2023. magenta-ming.tistory.com 추상화의 필요성 추상화를 사용하면, 세부적인 내용을 무시한 채 상위 개념을 쉽고 간단하게 표현할 수 있다. 그래서 세부 사항에 관계 없이,상위 개념만으로도 도메인의 중요한 개념을 설명할 수 있다. 그럼..

3일차 - 캡슐화를 통해 결합도 낮추기

2023.08.02 WED 17p ~ 33p 2일차 내용 ⬇️ 2023.08.02 - [개발 서적 기록/오브젝트_조영호] - 2일차 - 객체 지향적인 모듈 2일차 - 객체 지향적인 모듈 2023.08.01 TUE 2p ~ 16p 1일차 내용 ⬇️ 2023.07.31 - [개발 서적 기록/오브젝트_조영호] - 1일차 - 오브젝트를 본격적으로 읽기 전에 1일차 - 오브젝트를 본격적으로 읽기 전에 2023.07.31 MON 전반적인 내용 magenta-ming.tistory.com 객체에게 자유를, 캡슐화 각 객체가, 도메인이, 서로의 세세한 부분까지 알게되면, 의존성과 결합도가 증가한다. 따라서, 각각의 도메인이 각자의 행위를 수행할 수 있도록, 자율적인 존재로 만들어야한다. 이를 통해, 변경에 취약하지 않..

728x90