DAY 9 오늘 읽은 범위: 5장. 구부러지거나 부러지거나
📚 책에서 기억하고 싶은 내용?
모듈간의 결합도를 최소화하라.
- 한 모듈이 변경되거나 교체된다하더라도 다른 모듈들은 변경없이 수행될 수 있을 것이다.
- 디미터의 법칙
한 객체가 제공하는 메서드에 접근하기 위해 또 다른 객체들을 통하는 것을 허용하지 않는다. - 논리적 설계와 물리적 설계가 함께 고려되어야 한다.
통합하지 말고 설정하라.
- 아무리 뛰어난 천재라도 세부사항에 집착하면 그 재능이 발휘되지 않는다.
- 메타데이터를 이용하여 반환 매개 변수, 사용자 선호사항, 설치 디렉터리와 같은 애플리케이션 설정 옵션을 기술하라.
코드에는 추상화, 메타데이터에는 세부 내용
메타데이터는 범용 프로그래밍 언어보다 문제 도메인에 가까운 방식으로 표현될 수 있다.
메타데이터 → 일반 텍스트로 표현
작업흐름 분석을 통해 동시성을 개선하라.
- UML 활동 다이어그램
- 배고픈 소비자 모델의 컴포넌트를 서비스로 잘 정의되고 일관성 있는 인터페이스 뒤에서 일하는 독립적이고 동시적인 객체를 만들어야 한다.
- 동시성을 고려한 설계
자바의 멀티 쓰레드 기능으로 동시성을 고려하게 된다. thread safe
더 깔끔한 인터페이스를 설계하는 방향을 고려한게 된다.
예) C의 strtok보다 Java의 StringTokienizer를 이용한 설계가 유지보수하기에도 더 깔끔하다.
모델에서 뷰를 분리하라.
- 이벤트를 이용하면 객체들 사이의 결합을 최소화할 수 있다.
- 모델-뷰-컨트롤러 MVC 모델
- 자바의 트리 위젯 → TreeCellRender, TreeCellEditor
칠판을 이용해 작업흐름을 조율하라.
- 일반적인 분산 애플리케이션을 작성할 때는 시스템 내부의 모든 분산 트랜잭션과 상호작용마다 서로 구별되는 API 호출을 만드느라 상당한 시간을 소모하기 마련이다.
🤩 오늘 읽은 소감?
책에서 이해를 돕기 위해 든 수식어들이 이해가 되지 않는 부분들이 있었다.
나의 경우 이번 챕터가 제일 집중이 되지 않고 무엇인가 헛도는 느낌을 받았다. 다시 제대로 읽고 학습해야할 필요를 느꼈다.
❓ 궁금한 점이나 잘 이해되지 않는 내용
- 책에서 의미하는 메타데이터와 thread safe한 코드 작성에 대해 알아보는 것이 좋겠다.
'CS' 카테고리의 다른 글
[실용주의 프로그래머] Mission 2 - 연습문제 23번 (0) | 2022.03.27 |
---|---|
2022-03-24 RSS Feed (0) | 2022.03.24 |
[실용주의 프로그래머] 4장. 실용주의 편집증 (0) | 2022.03.23 |
[실용주의 프로그래머] 3장. 기본적인 도구 (0) | 2022.03.22 |
[실용주의 프로그래머] Mission 1 (0) | 2022.03.22 |
댓글
최근에 올라온 글
TAG
- 정보처리기사 실기
- spring
- JIRA
- java
- putty
- 실용주의프로그래머
- AWS
- 개발도서
- 기술블로그
- jdbc
- IT 5분 잡학사전
- 노마드코더
- 정보처리기사 필기
- 정보처리기사
- EC2
- 독서후기
- 호스팅영역
- intellij
- 노개북
- filezila
- 웹페이지만들기
- LifecycleException
- 배포
- SQLD
- gradle
- 북클럽
- ubuntu
- git연동
- gradle build
- 오늘의코딩
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함