MAP 남발하지않기
본인만 이해하는 코드가 될 수 있다.
만약 쓴다면 SCOPE 밖에 넘어가면 안됨
이해가 잘안되넹 !
보통 스타트는 포함하고 엔드는 제외한다.
보통 평소에 코드할때도 이런식으로 짜는데
내용을 좀더 체우는 느낌.
사이드 이펙트를 줄이기위해 불변 객체를 만든다
멱등성이 보장된다.
생성자시 값을 항상 체크를 해줘야된다 , 흠 뭔가 불편하면서
이런 코드는 예전에 짜보긴했는데 실무에선?
위 코드에서 확장해서 생성자는 2가지역할만 값 주입 + 값 검증
이런식으로.
흐음 잡힐듯 잡히지 않는다.
정말 기본적인 코드 오랜만에 본다.
유명한 정사각형예제 정사각형인대 5센치 높이가된다? 깨진다
PUBLIC 메서드는 인터페이스라고도 하고 인터페이스 의 다른이름은 계약!
setHight 높이를 정하는 계약 계약이 상속하면서 파기됨.
리스코프 치환 이 깨졌다.
이래서 상속은 신경쓸게 많아서 피하는게 맞다.
컴포지션!
인터페이스 분리 원칙
계약 경계 의미 기억
이 기능을 사용하려면 이 방법을 사용해라
인터페이스는 public 으로 선언된 메서드
api도 인터페이스라 할수있따 어떤 기능을 사용하고싶으면 이걸 사용해!
결론적으로? 인터페이스를 적재적소에 잘 분리해라 .
코드를 잘모르는데 사용하면 내부에 감춰진 의존성 때문에
원인 분석 및 디버깅 시간이 길어짐.
최상위 까지 끌어와도 어려워 진다.
결론 적으로 의존성을 감추지 말자
여러 강의에서 들어왔던말 변하는 값을 추상화하라 영한님 강의에서도 듣던 말
런타임 의존성 컴파일 타임 의존성을 다르게 하자 ! 어렵네..
대사가 참 좋다 .
이 부분은 다시들어도 좋을거 ㄱ같다.