이규원님의 현실 세상의 TDD 깊은 곳, 1편 : 인터페이스와 구현

2021. 5. 19. 13:14·교육 및 인강/이규원의 현실 세상의 TDD

테스트 주도 개발의 깊은 곳 1편이다.

언급되는 내용에 내 생각도 덧붙이는거라

📖 원본이 궁금하면 이규원 님의 TDD 수강하는 걸 추천드립니다. 👍 

 

The RED : 이규원의 현실 세상의 TDD : 안정감을 주는 코드 작성 방법 | 패스트캠퍼스

그동안 우리나라에는 TDD를 제대로 다루는 책도 강의도 없었죠. 그래서 제가 개발 현장에서 활용하는 TDD를 정확하게 알려드리고자 강의를 만들었습니다. 이제 TDD에 대한 잘못된 인식은 버리고, '

fastcampus.co.kr


추상화

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
'교육 및 인강/이규원의 현실 세상의 TDD' 카테고리의 다른 글
  • 이규원님의 현실 세상의 TDD 깊은 곳, 3편 : 입력과 출력
  • 이규원님의 현실 세상의 TDD 깊은 곳, 2편 : 환경 변화와 적응력
  • 이규원님의 현실 세상의 TDD 기초, 8편 : 프로그래머 피드백
  • 이규원님의 현실 세상의 TDD 기초, 7편 : 테스트 주도 개발
loop-study
loop-study
오늘도 공부하자
  • loop-study
    개발 공부할래?
    loop-study
  • 전체
    오늘
    어제
    • 분류 전체보기 (187)
      • 목표 및 회고 (26)
      • 세미나 & 워크샵 (1)
      • 교육 및 인강 (67)
        • TDD, Clean Code with Java (5)
        • ATDD, 클린 코드 with Spring (6)
        • DDD 세레나데 (3)
        • 인프라 공방 (6)
        • 이규원의 현실 세상의 TDD (19)
        • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (18)
        • 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 (0)
        • 모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한 (8)
        • 코딩으로 학습하는 GoF의 디자인 패턴 (1)
        • 스프링 시큐리티 완전정복 6.x (1)
      • 서적 (62)
        • 객체지향의 사실과 오해 (1)
        • 객체지향과 디자인패턴 (7)
        • 만들면서 배우는 클린 아키텍처 (3)
        • 테스트 주도 개발로 배우는 객체 지향 설계와 실천 (1)
        • 오브젝트: 코드로 이해하는 객체지향 설계 (17)
        • 리팩토링 : 코드 구조를 체계적으로 개선하여 효율적인 리팩터링 구현하기 (0)
        • 토비의 스프링 (3)
        • 엔터프라이즈 애플리케이션 아키텍처 패턴 (9)
        • 개발자의 글쓰기 (1)
        • 소프트웨어 장인 (17)
        • Real MySQL 8.0 (2)
        • JVM 밑바닥까지 파헤치기 (0)
      • 개발 & 방법론 (29)
        • Java (13)
        • TDD (5)
        • ATDD (3)
        • DDD (6)
        • 인프라 (2)
        • SQL (0)
      • 개인이야기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 백엔드 로드맵
  • 인기 글

  • 태그

    현실세상의 TDD
    모든 개발자를 위한 HTTP 웹 기본 지식
    장인정신
    김영한
    이규원
    소프트웨어 장인
    마틴 파울러
    Test Driven Development
    인프런
    TDD
    자바
    오브젝트
    조영호
    Patterns of Enterprise Application Architecture
    JUnit
    객체지향
    스프링
    nextstep
    추상화
    fastcampus
    엔터프라이즈 애플리케이션 아키텍처 패턴
    ATDD
    java
    스터디
    테스트 주도 개발
    넥스트스탭
    백기선
    인프라공방
    DDD 세레나데
    study
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
loop-study
이규원님의 현실 세상의 TDD 깊은 곳, 1편 : 인터페이스와 구현
상단으로

티스토리툴바