개발자 99% 커뮤니티에서 수다 떨어요!
TIL (Today I Learned)
22.03.01
오늘 읽은 범위
6장 객체와 자료 구조
📖 기억하고 싶은 내용
P.119 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. (…) 개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 심각하게 고민해야 한다.
p.123 디미터 법칙 : 디미터 법칙은 잘 알려진 휴리스틱heuristic으로, 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙.
p.124 디미터 법칙을 위반하는지 여부는 ctxt, Options, ScratchDir이 객 체인지 아니면 자료 구조인지에 달렸다. 객체라면 내부 구조를 숨겨야 하므로 확실히 디미터 법칙을 위반한다. 반면, 자료 구조라면 당연히 내부 구조를 노출 하므로 디미터 법칙이 적용되지 않는다.
p.127 객체는 동작을 공개하고 자료를 숨긴다. 그래서 기존 동작을 변경하지 않으면 서 새 객체 타입을 추가하기는 쉬운 반면, 기존 객체에 새 동작을 추가하기는 어 렵다. 자료 구조는 별다른 동작 없이 자료를 노출한다. 그래서 기존 자료 구조에 새 동작을 추가하기는 쉬우나, 기존 함수에 새 자료 구조를 추가하기는 어렵다.
✍️ 읽은 소감
평소 쓰는 코드가 기차충돌에 해당된다는 걸 깨달았다..당장 가서 고칠 것이다..
🧐 궁금한 내용, 잘 이해되지 않는 내용
자료 전달 객체 : 공개 변수만 있고 함수가 없는 클래스. 데이터베이스와 통신하거나 소켓에서 받은 메시지의 구문을 분석할 때 유용하다. 흔히 DTO는 데이터베이스에 저장된 가공되지 않은 정보를 애플리케이션 코드에서 사용할 객체로 변환하는 일련의 단계에서 가장 처음으로 사용하는 구조체다.
빈 구조 : 비공개private 변수를 조회/설정 함수로 조작한다.