본문 바로가기
TIL

실용주의 프로그래머 5장: 구부러지거나 부러지거나

by sun_HY 2024. 7. 20.

5장. 구부러지거나 부러지거나

 

되돌릴 수 있는 의사 결정을 내리는 구체적인 방법

 

28. 결합도 줄이기

 

TDA: Tell, Don't Ask.

다른 객체의 내부 상태에 따라 판단을 내리고 그 객체를 갱신해서는 안된다.

객체의 내부 상태를 물으면 encapsulation의 강점이 모두 사라짐

 

LoD: Law of Demeter

- 메서드 호출을 엮지 말라

 

글로벌화의 문제점: 어디서나 접근할 수 있는 데이터는 컴포넌트 간의 결합을 만든다.

 

 

29. 실세계를 갖고 저글링하기

 

이벤트에 잘 반응하는 어플리케이션 만들기

- 유한 상태 기계

- 감시자 패턴

- 게시-구독

- 반응형 프로그래밍과 스트림 그리고 이벤트

 

 

31. 상속세

 

상속을 쓸 필요가 없게 해 주는 세 가지 기법

  • 인터페이스와 프로토콜
    • 자바의 인터페이스에는 가능함을 뜻하는 -able로 끝나는 형용사 이름을 붙이는 관례가 있다. (처음 들어봄 🤓)
    • 상속 없이도 다형성을 가져다 주는 방법
  • 위임
    • 상속은 개발자들이 점점 더 메서드가 많은 클래스를 만들도록 유도한다.
    • Has-A가 Is-A보다 낫다.
  • 믹스인과 트레이트

 

 

32. 설정

 

설정 정보를 (얇은) API 뒤로 숨겨라

 - 여러 애플리케이션이 설정 정보를 공유할 수 있고, 설정 데이터를 동적으로 계속 바꿀 수 있다.

 

도도 코드를 작성하지 말라 > 외부 설정을 사용하지 않아서 유연성, 적응성을 포기하게 하지 말라

 

 


 

5장 후기

가장 읽기 어렵고 오래 걸렸다. 확인해 보니 다른 장에 비해 분량이 상대적으로 길기도 했다.

예시도 알지 못하는 언어로 되어 있고 구체적인 예가 많다 보니 이해가 되지 않는 부분도 많았다 😶‍🌫️

나중에 실제 프로젝트 중 다시 읽으면 더 도움될듯

728x90