라면공장패턴
TRANSCRIPT
주니어 개발자도 이해 할 수 있는 코어 J2EE 패턴 - 라면공장편 -
2014. 12Darion Kim
나는 누구?Darion Kim (김헌기)
디에스멘토링 연구소 수석보
자칭 통신(통합의 신, God of Integration)
https://www.facebook.com/groups/serverside (율이아빠)
이 문서를 모든 Freshman에게 바칩니다.
(for YMS, JHJ)
약속드립니다. ^^절대 어렵게 얘기하지 않겠습니다.
대신 좀 유치하더라도 제 눈높이에 맞춰
공감해주셨으면 합니다.
자~ 이제 들어가 보도록 하겠습니다.
저와 눈높이를 맞춰주세요.아니시면 여기까지…^^
지금부터 제가 좋아하는 라면얘기를 하려합니다.
라면은 면과 스프(분말+후레이크)로 이루어져있습니다.
라면의 뒷면을 보겠습니다. 유통기간 외에 다른것이보입니다.
좀더 자세히 보면 구미라는 글자가 보입니다.
자~~~ 여기서 질문입니다.
도대체 구미가 뭘까요?
정답은 전국 라면 공장중에 하나가 구미공장입니다.
각 라면 공장은 그 지역의 재료를 공급받지만 라면 맛은 공장에 관계없이 동일한 맛으로 생산됩니다.
안양, 안성, 아산, 구미, 녹산, 부산 공장의 라면 맛은 모두 동일합니다.
안양 안성 아산 구미 녹산 부산
= == = =
라면의 생산공장은 지역마다 다르지만 라면 맛은 동일하다가 포인트입니다.
저는 이것을 라면공장패턴 이라 이름을 지었습니다.
우리는 어떤 것을 만들어 낼때 라면 같이 동일한 맛을 만들어내는 라면공장이 필요할 때가 있습니다.
좀 유식한 말로 팩토리 메서드 패턴(Factory
Method Pattern)이라고 합니다.
원래 얘기하려고 했던 Java 기반의 웹 환경으로 다시 말
씀드리겠습니다.
Java에서 DB에 접근하려면 JDBC(Java Database Connectivity) 기술을 사용하여 다양한 DB에 접근 할 수 있습니다.
Java Application
JDBC API
JDBC DriverManager
Oracle
OracleJDBC Driver
MySQL
MySQL JDBC Driver
SQL Server
SQL ServerJDBC Driver
DB2
DB2JDBC Driver
우리는 JDBC API를 인터페이스 기준으로 사용만 하지 어떻게 만들어졌다는 것에 대해
서는 궁금하지 않습니다. 또 DB에 종속적인 API를 알 필요도 없습니다.
(* 약간의 예외는 있습니다.)
JDBC API
이를 가능하게 한 것이 JDBC Driver의 인터페이스가 정의되면 각각의 DB Vendor에서 직접 JDBC Driver의 구
현체를 구현합니다.이미 각 DB Vendor에서 구현했기 때문에 그냥 JDBC Driver로 사용하기만 하면 됩니다.
JDBC DriverManager
OracleJDBC Driver
MySQL JDBC Driver
SQL ServerJDBC Driver
DB2JDBC Driver
라면 = JDBC Driver 라면 공장 = DB Vendor
Core J2EE Design Pattern에는 DAO 패턴(Data Access
Object Pattern) 이 있습니다.
주로 DB에 접근하여 DB연동 작업을 처리하는 역할입니다.
DAO도 인터페이스로 정의하고 라면공장 패턴을 적용하여 각각의 DB에 맞게 구현하면 추후에 DB가 변경되어도 추가적인 작업이 필요없습니다.
DAO
OracleDAO
MySQL DAO
SQL ServerDAO
DB2DAO
DAO를 SpringBoot + Spring Data JPA조합으로 사용하시면
정말 쉽게 사용하실 수 있습니다.
+
라면공장 패턴을 잘 적용하면 개발자 삶이 윤택해 질수 있다고 다시 한번 말씀드리고 싶습니다.
참고로 이 문서는 기술적인 근거 자료로 사용하기 힘든 문서임을 알려드립니다.
처음 시작하는 분들에게 개념을 쉽게 이해하게 하고 접근하게 하기 위해 만든 문서임
을 알려드립니다. ^^
이상 율이아빠였습니다.