spring
OCP 계방폐쇠 원칙 이해하기
즐기는플머
2020. 7. 8. 15:17
- 개방 폐쇠 원칙
- 컴퓨터 부팅시 키보드 연결 예제로 설명
- 적용전
- S사 keyboard만 사용가능. S사 키보드가 작동오류시 다른 키보드를 사용할 수 없음
- Computer 클래스의 멤버 변수에 keyboard 인터페이스를 정의하고,
setKeyboard 메소드를 통해 특정 제조사의 키보드 객체를 주입 받는다. - 이와 같이 인터페이스를 이용해 키보드 연결 행위를 추상화함으로써 어떤 키보드 클래스도 주입 받을 수 있다.
- S사 키보드를 사용하고 싶을 때나 또는 L사 키보드를 사용하고 싶을 때 Computer 클래스를 수정할 필요 없이
외부에서 키보드 객체를 주입해 주기만 하면 되는 것이다.
- 성과
- OCP(계방폐쇠 원칙중에) 하나인 "키보드를 사용해야하는 변경에는 닫혀있다." 라는 원칙이 성립되는 것이다.
- OCP 원칙의 "어떠한 제조사 키보드도 사용할수있는 확장에는 열려있다." 를 수용한다.