Nebo - Test - Page 5
  1. 개방폐쇄 원칙 (open closed)

0 확장에는 열려 있어야 하고
변경에는 닫혀 있어야 한다.
= 기능을 변경, 확장 가능하지만 기능을 사용하는 코드는 수정하지 x ) Memory byte 읽는 기능추가 = 기능은 추가되고 코드 변경 x
(코드는
interface 추가됨)
0 확장되는 부분이 추상화됐므로 가능

2.1 원칙이 깨질때 주요증상

  1. 다운캐스팅을 한다.
    instance of 사용
  2. 비슷한 if_else 블록이 존재

2.2 개방 폐쇄 원칙은 유연함 기능확장을 위해 기존코드 수정 = 확장에 닫히고 변경에 열림

  1. 리스코프 치환 원칙

0 상위타입이 아닌 하위 타입을 사용해도 기능이 정상적으로 수행

3.1 위반시 문제점
o 직사각형 정사각형 문제
o 서로 다른 리턴범위

3.2 원칙은 계약과 확장에 대한 0 명세된 계약대로
o instance of 사용은 원칙의 위반을 보여준 .

  1. 인터페이스 분리원칙
  2. 인터페이스는 인터페이스를 사용하는

클라이언트를 기준으로 분리해야 한다.

  • 용도에 맞게 인터페이스를 분리

4.3 인터페이스 분리 원칙은 클라이언트에 대한 .

  • 의존의 양면성
  1. 의존역전원칙
  2. 고수준모듈은 저수준모듈의 구현에

의존해서는 안된다. 저수준모듈이 고수준 모듈에서 정의상 추상타입에 의존해야 한다

  • 고수준 모듈: 바이트 데이터를 읽고 암호화하고
    결과 바이트 데이트를 쓴다

. 저수준모듈: 1. 바이트를 읽는다.

  1. 암호화 한다
  2. 데이터를 쓴다

  1. I 문제점
  2. 가격 계산 모듈이 쿠폰에 의존하게

되면 새로운 쿠폰추가시 가격 계산 모듈이 변경되는 상황 초래

  • 저수준이 변경되도 고수준에 영향을

끼치는게 원칙의 목적.

5.2 의존 역전원칙을 통한 변경의 유연함 확보

  • 저수준 모듈이 고수준에 의지.
  • 추상화

  • file Data Reader Bk Source 의존
  • Byte Source flow Control 입장에서

만들어
= 의존이 역전됨.

  • 소스코드 상에서 역전됨

5.4 의존 역전과 패키지

  • flow control Byte source

하나의 패케이로 묶을 있음

  1. 정리.
  2. 변화에 유연하게 대처하는
  3. 단일책임원칙, 인터페이스 분리원칙 = 객체의 크기 조절 (기능, 책임)
  4. 리스코프, 의존 역전원칙
    = 추상화, 다형성, 기능확장

+ Recent posts