| 0110
[공부한 내용]
- YAS 프로젝트 리팩토링
- 소셜 로그인 코드 수정(redirect_uri관련)
- 코딩 테스트 공부
- 백준 1149번
- 오브젝트 책 정리
- 4장 설계 품질과 트레이드오프 정리
- 핵심 정리
- 응집도는 모듈에 포함된 내부 요소들이 연관되어 있는 정도를 나타낸다.
- 결합도는 의존성의 정도를 나타내며 다른 모듈에 대해 얼마나 많은 관계를 갖고 있는지를 나타내는 척도이다.
- 캡슐화 관련 사항
- 속성의 가시성을 private 접근제어자로 설정하였다 하더라도 접근자와 수정자를 이용하여 속성을 외부로 제공하고 있다면 캡슐화를 위반하는 것이다. -> 내가 간과하고 있던 부분
- 속성의 가시성을 private 접근제어자로 설정하였다 하더라도 접근자와 수정자를 이용하여 속성을 외부로 제공하고 있다면 캡슐화를 위반하는 것이다. -> 내가 간과하고 있던 부분
- 데이터 중심 설계의 문제점
- 첫번째, 데이터 중심의 관점에서 객체는 그저 단순한 데이터의 집합이다.
- 이로 인해 접근자와 수정자를 과도하게 추가하게 된다. 이와 같은 경우 public으로 접근 제어자를 사용한 것과 차이가 없으므로 캡슐화가 무너진다.
- 두번째, 객체의 인터페이스는 구현을 캡슐화하는 데 실패하고 코드는 변경에 취약해진다.
- 데이터를 처리하는 데 필요한 오퍼레이션을 나중에 결정하는 방식은 데이터에 관한 지식이 객체의 인터페이스에 고스란히 드러나게 된다.
- 결과적으로 이는 설계가 실패되는 것이다.
- 즉, 데이터 중심의 설계는 너무 이른 시기에 데이터에 대해 고민하기 때문에 캡슐화에 실패하게 된다.
- 초점을 객체 내부가 아니라, 객체 외부에 맞춰야 한다. (책임에 초점)
- 첫번째, 데이터 중심의 관점에서 객체는 그저 단순한 데이터의 집합이다.
[하루 정리]
'Memo > 22년 TIL' 카테고리의 다른 글
0117 TIL (오늘 하루 정리하기) (0) | 2022.01.17 |
---|---|
0115~0116 TIL (주말 정리하기) (0) | 2022.01.16 |
0113 TIL (오늘 하루 정리하기) (0) | 2022.01.14 |
0112 TIL (오늘 하루 정리하기) (0) | 2022.01.14 |
0111 TIL (오늘 하루 정리하기) (0) | 2022.01.11 |