본문 바로가기

용어정리/#SOLID

용어정리-[#SOLID] 3.OCP

[ OCP ]

개방 폐쇄 원칙, Open Closed Principle


2018 - 05 - 31


"소프트웨어 엔티티( 클래스, 모듈, 함수 등 )는 확장에 대해서는 열려 있어야 하지만

변경에 대해서는 닫혀 있어야 한다." - 로버트 C. 마틴


자신의 확장에는 열려 있고 주변의 변화에는 닫혀 있어야 한다.


OCP의 아주 좋은 예로 JDBC가 있다

JDBC를 사용하는 클라이언트는 데이터베이스를 오라클에서 MySQL로 변경한다 해도 connection 부분만 변경해 주면 된다.

conntection 부분을 별도의 파일로 분리해둔다면 클라이언트 파일 소스는 단 한줄도 건드릴 필요가 없다.


JDBC 뿐만 아니라 iBaits MyBatis 하이버네이트 등 다양한 데이터베이스 프로그래밍을 지원하는 프레임워크와 라이브러리에서도

개방 폐쇄원칙을 확인할 수 있다.




출처

스프링 입문을 위한 자바 객체 지향의 원리와 이해

김종민 지음


'용어정리 > #SOLID' 카테고리의 다른 글

용어정리-[#SOLID] 6.DIP  (0) 2018.06.01
용어정리-[#SOLID] 5.ISP  (0) 2018.06.01
용어정리-[#SOLID] 4.LSP  (0) 2018.05.31
용어정리-[#SOLID] 3.OCP  (0) 2018.05.31
용어정리-[#SOLID] 2.SRP  (0) 2018.05.29
용어정리-[#SOLID] 1.SOLID  (0) 2018.05.29