라면공장패턴

30
주니어 개발자도 이해 있는 코어 J2EE 패턴 - 라면공장편 - 2014. 12 Darion Kim

Upload: darion-kim

Post on 16-Jul-2015

1.659 views

Category:

Software


0 download

TRANSCRIPT

Page 1: 라면공장패턴

주니어 개발자도 이해 할 수 있는 코어 J2EE 패턴 - 라면공장편 -

2014. 12Darion Kim

Page 2: 라면공장패턴

나는 누구?Darion Kim (김헌기)

디에스멘토링 연구소 수석보

자칭 통신(통합의 신, God of Integration)

[email protected]

https://www.facebook.com/groups/serverside (율이아빠)

Page 3: 라면공장패턴

이 문서를 모든 Freshman에게 바칩니다.

(for YMS, JHJ)

Page 4: 라면공장패턴

약속드립니다. ^^절대 어렵게 얘기하지 않겠습니다.

Page 5: 라면공장패턴

대신 좀 유치하더라도 제 눈높이에 맞춰

공감해주셨으면 합니다.

Page 6: 라면공장패턴

자~ 이제 들어가 보도록 하겠습니다.

저와 눈높이를 맞춰주세요.아니시면 여기까지…^^

Page 7: 라면공장패턴

지금부터 제가 좋아하는 라면얘기를 하려합니다.

Page 8: 라면공장패턴

라면은 면과 스프(분말+후레이크)로 이루어져있습니다.

Page 9: 라면공장패턴

라면의 뒷면을 보겠습니다. 유통기간 외에 다른것이보입니다.

Page 10: 라면공장패턴

좀더 자세히 보면 구미라는 글자가 보입니다.

Page 11: 라면공장패턴

자~~~ 여기서 질문입니다.

도대체 구미가 뭘까요?

Page 12: 라면공장패턴

정답은 전국 라면 공장중에 하나가 구미공장입니다.

Page 13: 라면공장패턴

각 라면 공장은 그 지역의 재료를 공급받지만 라면 맛은 공장에 관계없이 동일한 맛으로 생산됩니다.

Page 14: 라면공장패턴

안양, 안성, 아산, 구미, 녹산, 부산 공장의 라면 맛은 모두 동일합니다.

안양 안성 아산 구미 녹산 부산

= == = =

Page 15: 라면공장패턴

라면의 생산공장은 지역마다 다르지만 라면 맛은 동일하다가 포인트입니다.

Page 16: 라면공장패턴

저는 이것을 라면공장패턴 이라 이름을 지었습니다.

우리는 어떤 것을 만들어 낼때 라면 같이 동일한 맛을 만들어내는 라면공장이 필요할 때가 있습니다.

Page 17: 라면공장패턴

좀 유식한 말로 팩토리 메서드 패턴(Factory

Method Pattern)이라고 합니다.

Page 18: 라면공장패턴

원래 얘기하려고 했던 Java 기반의 웹 환경으로 다시 말

씀드리겠습니다.

Page 19: 라면공장패턴

Java에서 DB에 접근하려면 JDBC(Java Database Connectivity) 기술을 사용하여 다양한 DB에 접근 할 수 있습니다.

Page 20: 라면공장패턴

Java Application

JDBC API

JDBC DriverManager

Oracle

OracleJDBC Driver

MySQL

MySQL JDBC Driver

SQL Server

SQL ServerJDBC Driver

DB2

DB2JDBC Driver

Page 21: 라면공장패턴

우리는 JDBC API를 인터페이스 기준으로 사용만 하지 어떻게 만들어졌다는 것에 대해

서는 궁금하지 않습니다. 또 DB에 종속적인 API를 알 필요도 없습니다.

(* 약간의 예외는 있습니다.)

JDBC API

Page 22: 라면공장패턴

이를 가능하게 한 것이 JDBC Driver의 인터페이스가 정의되면 각각의 DB Vendor에서 직접 JDBC Driver의 구

현체를 구현합니다.이미 각 DB Vendor에서 구현했기 때문에 그냥 JDBC Driver로 사용하기만 하면 됩니다.

JDBC DriverManager

OracleJDBC Driver

MySQL JDBC Driver

SQL ServerJDBC Driver

DB2JDBC Driver

Page 23: 라면공장패턴

라면 = JDBC Driver 라면 공장 = DB Vendor

Page 24: 라면공장패턴

Core J2EE Design Pattern에는 DAO 패턴(Data Access

Object Pattern) 이 있습니다.

주로 DB에 접근하여 DB연동 작업을 처리하는 역할입니다.

Page 25: 라면공장패턴
Page 26: 라면공장패턴

DAO도 인터페이스로 정의하고 라면공장 패턴을 적용하여 각각의 DB에 맞게 구현하면 추후에 DB가 변경되어도 추가적인 작업이 필요없습니다.

DAO

OracleDAO

MySQL DAO

SQL ServerDAO

DB2DAO

Page 27: 라면공장패턴

DAO를 SpringBoot + Spring Data JPA조합으로 사용하시면

정말 쉽게 사용하실 수 있습니다.

+

Page 28: 라면공장패턴

라면공장 패턴을 잘 적용하면 개발자 삶이 윤택해 질수 있다고 다시 한번 말씀드리고 싶습니다.

Page 29: 라면공장패턴

참고로 이 문서는 기술적인 근거 자료로 사용하기 힘든 문서임을 알려드립니다.

처음 시작하는 분들에게 개념을 쉽게 이해하게 하고 접근하게 하기 위해 만든 문서임

을 알려드립니다. ^^

Page 30: 라면공장패턴

이상 율이아빠였습니다.