오늘 TIL 3줄 요약
- 결합도가 낮은 코드가 바꾸기 쉽다
- 전역 데이터는 결합도를 높인다.
- 매서드 호출 엮지 말라
TIL (Today I Learned)
2022.03.27
오늘 읽은 범위
5장 구부러지거나 부러지거나
책에서 기억하고 싶은 내용을 써보세요.
글로벌화의 해악
: 전역 데이터는 여러가지 방법으로 코드의 결합도를 높인다
ㄴ 디자인 패턴 중 '싱글턴'도 전역 데이터이다.
ㄴ외부 리소스도 전역 데이다.
ㄴ 전역적이어야 할 만큼 중요하다면 API로 감싸라.
: 상속은 결합을 늘린다.
ㄴ 다중 상속 사용 X. 인터페이스의 다형성을 이용하라.
옵저버 패턴(감시자 패턴)
: 단점 - 모든 감시자가 감시 대상에 등록해야 하기 때문에 결합이 생긴다.
ㄴ "펍섭(pubsub)=게시-구독 모델(혹은 발행-구독 모델)"을 통해 해결할 수 있다.
ㄴ 다만, 펍섭은 메시지 전달 시스템의 한계가 있음. 이벤트의 특정한 조합에 반응하는 시스템을 만들려면 더 많은 기능이 필요.
ㄴ 반응형 프로그램과 스트림을 이용한 이벤트 처리로 한계 해결
ㄴ 반응형 - 리액트(React), 뷰(Vue.js)
ㄴ 스트림 : 이벤트를 일반 구조처럼 다룰 수 있게 해준다. 비동기적으로 작동.
ㄴ 이벤트를 중심으로 만든 코드는 일직선으로 수행되는 코드보다 더 잘 반응하고 결합도가 낮다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
이번 5장 너무 어려웠습니다. 공부할 부분이 많습니다.
''실용주의 프로그래머' 리뷰' 카테고리의 다른 글
실용주의 프로그래머 6일차. 실용주의 편집증 (0) | 2022.03.25 |
---|---|
실용주의 프로그래머 5일차. 3장 기본 도구 (0) | 2022.03.24 |
실용주의 프로그래머 3일차. 2장 실용주의 접근법 (0) | 2022.03.23 |
실용주의 프로그래머 2일차. 서문~1장 실용주의 철학 (0) | 2022.03.20 |
실용주의 프로그래머 책 구입 (0) | 2022.03.18 |
댓글