Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
5장 구부러지거나 부러지거나
#pragmatic
2년 전
521

오늘 TIL 3줄 요약

  • 결합도를 더 더 줄일 것!

  • 스스로 부러지지 않고, 구부러질 수 있는 유연한 코드를 작성하자

  • 내 코드가 도도새가 되어 멸종되지 않도록 하자.

TIL (Today I Learned) 날짜

2022. 05. 22

오늘 읽은 범위

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

책에서 기억하고 싶은 내용을 써보세요.

  • 높은 결합도는 변경의 적이다. 결합도가 낮은 코드가 바꾸기 쉽다. (p.182)

  • 무언가에 접근할 때 쩜(".")을 하나만 쓰려고 노력해 보라 (p.188)

    • ex ) ammount = customer.orders.last().totals().amount; //잘못된 코드

  • 이벤트에 잘 반응하는 어플리케이션을 만드는 4가지 전략 (p.194)

    • 유한 상태 기계 : 이벤트를 어떻게 처리할지 정의한 명세.(p.195)

    • 감시자 패턴 : 이벤트를 발생시키는 쪽인 감시 대상과 이벤트에 관심이 있는 클라이언트인 감시자로 이루어진 패턴. (p.199)

    • 게시-구독 : a.k.a 발행-구독 모델은 줄여서 펍섭(pubsub)이라고도 부르는데, 감시자 패턴을 일반화한 것이다. 동시에 감시자 모델의 결합도를 높이는 문제와 성능 문제도 해결한다. (p.201)

    • 반응형 프로그래밍과 스트림 : 이벤트를 일반적인 자료 구조처럼 다룰 수 있게 해준다. (p.202)

  • 변환 프로그래밍 : 프로그램이란 입력을 출력으로 바꾸는 것이라는 사고방식으로 돌아갈 필요가 있다. (p.207)

  • 상속세 : 상속도 일종의 결합이다. (p.226)

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

    • 인터페이스와 프로토콜 : 이들을 타입으로 사용할 수 있고, 해당 인터페이스를 구현하는 클래스라면 무엇이든 그 타입과 호환되게 할 수 있다. (p.230)

    • 위임 : 서비스에 위임(delegarion)하라, Has-A가 ls-A보다 낫다. (p.232)

    • 믹스인과 트레이트 : 클래스나 객체에 상속을 사용하지 않고 새로운 기능을 추가하여 확장하고 싶다. 그래서 일련의 함수를 만들고 이름을 붙이고 이것으로 클래스나 객체를 확장한다. (p.233)

  • 설정 : 모든 물건을 제자리에 두고, 일은 모두 때를 정해서 하라. (p.236)

    • 정적 설정 : 설정 정보를 API 뒤로 숨겨라. (p.237)

    • 서비스형 설정 : 설정 정보를 서비스 API 뒤에서 관리하는 것. (p.237)

    • 도도 코드 사용 금지 : 외부 설정에 적응하라 (p.238)

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 결합을 줄이는 것의 중요성을 다시 느낄 수 있다.

  • 왜 결합을 줄여야 하는 지에 대한 이유를 심화해서 배우게 되었다.

  • 내 경력이 멸종되지 않으려면 유연함을 가지고 구부러지고 부러지지 않는 코드를 작성하려고 노력해야 한다.

오늘 읽은 다른사람의 TIL