• 개방 폐쇠 원칙
    • 컴퓨터 부팅시 키보드 연결 예제로 설명

Spring DI 주입을 통한 OCP적용 전,후 JAVA코드

  • 적용전
    • S사 keyboard만 사용가능. S사 키보드가 작동오류시 다른 키보드를 사용할 수 없음
    • Computer 클래스의 멤버 변수에 keyboard 인터페이스를 정의하고, 
      setKeyboard 메소드를 통해 특정 제조사의 키보드 객체를 주입 받는다. 
    • 이와 같이 인터페이스를 이용해 키보드 연결 행위를 추상화함으로써 어떤 키보드 클래스도 주입 받을 수 있다.

    • S사 키보드를 사용하고 싶을 때나 또는 L사 키보드를 사용하고 싶을 때 Computer 클래스를 수정할 필요 없이 
      외부에서 키보드 객체를 주입해 주기만 하면 되는 것이다.

  • 성과 
    • OCP(계방폐쇠 원칙중에) 하나인 "키보드를 사용해야하는 변경에는 닫혀있다." 라는 원칙이 성립되는 것이다.
    • OCP 원칙의 "어떠한 제조사 키보드도 사용할수있는 확장에는 열려있다." 를 수용한다.

'spring' 카테고리의 다른 글

Filter, Intercepter, AOP 차이점  (0) 2020.09.23
MyBatis란?  (0) 2020.08.08
AOP란?  (0) 2020.06.19

+ Recent posts