테스트 주도 개발의 깊은 곳 1편이다.
언급되는 내용에 내 생각도 덧붙이는거라
📖 원본이 궁금하면 이규원 님의 TDD 수강하는 걸 추천드립니다. 👍
추상화
MIT 교수 John Vogel Guttag에 따르면 추상화는 주어진 맥락에 관련된 정보들을 남기고 동시에 주어진 맥락과 관련 없는 정보들을 잊어버리는 과정이다.
-> 개발을 하다보면 추상화에 대한 많은 이야기를 접할 수 있다. 객체지향에 대한 책들도 위와 같이 비슷하게 정의한다.
협력과 계약
- 대부분의 코드는 다른 코드와 협력
- 협력에 필요한 것은 '어떻게'가 아닌 무엇
- 인터페이스 (추상화의 결과)
인터페이스에 프로그래밍
Erik Meijer "인터페이스를 대상으로 프로그래밍한다."
-> 흔히 개발을 하다보면 인터페이스를 많이 사용한다. 고객의 비즈니스를 이해하고 요구사항을 이해하면 설계가 나오는데 추상화로 인터페이스를 도출하다보면 인터페이스를 활용해 프로그래밍을 하게 된다.
정보 숨김
효과적인 모듈화
- 조직 간 의사소통 최소화
- 변경 여파 최소화
- 시스템 이해 도움
공개된 설계 결정과 숨겨진 설계 결정
- 어려운 설계 결정과 변경될 것 같은 설계 결정을 숨겨라.
후 기
이번 내용은 평소보다 양이 적다.
하지만 그 어느 때보다 중요한 내용이다.
개발을 하려면 객체지향 개념이 중요하기에
이번 시간은 객체지향의 기본적인 특징에 대해서 설명해주셨다.
'교육 및 인강 > 이규원의 현실 세상의 TDD' 카테고리의 다른 글
이규원님의 현실 세상의 TDD 깊은 곳, 3편 : 입력과 출력 (0) | 2021.05.20 |
---|---|
이규원님의 현실 세상의 TDD 깊은 곳, 2편 : 환경 변화와 적응력 (0) | 2021.05.19 |
이규원님의 현실 세상의 TDD 기초, 8편 : 프로그래머 피드백 (0) | 2021.04.16 |
이규원님의 현실 세상의 TDD 기초, 7편 : 테스트 주도 개발 (0) | 2021.04.16 |
이규원님의 현실 세상의 TDD 기초, 6편 : 정리된 코드(리팩토링) (0) | 2021.04.14 |