Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL(22.03.01)_6장 객체와 자료 구조
#clean_code
2년 전
502


TIL (Today I Learned)

22.03.01

오늘 읽은 범위

6장 객체와 자료 구조

📖 기억하고 싶은 내용

  • P.119 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. (…) 개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 심각하게 고민해야 한다.

  • p.123 디미터 법칙 : 디미터 법칙은 잘 알려진 휴리스틱heuristic으로, 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙.

  • p.124 디미터 법칙을 위반하는지 여부는 ctxt, Options, ScratchDir이 객 체인지 아니면 자료 구조인지에 달렸다. 객체라면 내부 구조를 숨겨야 하므로 확실히 디미터 법칙을 위반한다. 반면, 자료 구조라면 당연히 내부 구조를 노출 하므로 디미터 법칙이 적용되지 않는다.

  • p.127 객체는 동작을 공개하고 자료를 숨긴다. 그래서 기존 동작을 변경하지 않으면 서 새 객체 타입을 추가하기는 쉬운 반면, 기존 객체에 새 동작을 추가하기는 어 렵다. 자료 구조는 별다른 동작 없이 자료를 노출한다. 그래서 기존 자료 구조에 새 동작을 추가하기는 쉬우나, 기존 함수에 새 자료 구조를 추가하기는 어렵다.

✍️ 읽은 소감

  • 평소 쓰는 코드가 기차충돌에 해당된다는 걸 깨달았다..당장 가서 고칠 것이다..

🧐 궁금한 내용, 잘 이해되지 않는 내용

  • 자료 전달 객체 : 공개 변수만 있고 함수가 없는 클래스. 데이터베이스와 통신하거나 소켓에서 받은 메시지의 구문을 분석할 때 유용하다. 흔히 DTO는 데이터베이스에 저장된 가공되지 않은 정보를 애플리케이션 코드에서 사용할 객체로 변환하는 일련의 단계에서 가장 처음으로 사용하는 구조체다.

  • 빈 구조 : 비공개private 변수를 조회/설정 함수로 조작한다.