From 15338b2b7001bc01763d202971c400c3b5b96479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=8B=A4=ED=98=9C?= Date: Sat, 7 Mar 2020 00:16:07 +0900 Subject: [PATCH] =?UTF-8?q?1=EC=9E=A5:=20DAO=EC=9D=98=20=ED=99=95=EC=9E=A5?= =?UTF-8?q?=20-=20=EA=B4=80=EA=B3=84=EC=84=A4=EC=A0=95=20=EC=B1=85?= =?UTF-8?q?=EC=9E=84=EC=9D=98=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 전의 코드는 관계를 설정해주는 것에 대한 관심을 분리할 필요성이 있었다. 클라이언트에 해당 관심사의 책임을 맡김으로써 해결할 수 있다. '런타임 시에 결정된다.' --- src/main/java/com/toby/tobyspring/MainTest.java | 5 ++++- src/main/java/com/toby/tobyspring/user/dao/UserDao.java | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/toby/tobyspring/MainTest.java b/src/main/java/com/toby/tobyspring/MainTest.java index f50f762..ae961ee 100644 --- a/src/main/java/com/toby/tobyspring/MainTest.java +++ b/src/main/java/com/toby/tobyspring/MainTest.java @@ -1,5 +1,7 @@ package com.toby.tobyspring; +import com.toby.tobyspring.user.dao.ConnectionMaker; +import com.toby.tobyspring.user.dao.DUserConnectionMaker; import com.toby.tobyspring.user.dao.UserDao; import com.toby.tobyspring.user.domain.User; @@ -7,7 +9,8 @@ public class MainTest { public static void main(String[] args) throws SQLException, ClassNotFoundException { - UserDao userDao = new UserDao(); + ConnectionMaker connectionMaker = new DUserConnectionMaker(); + UserDao userDao = new UserDao(connectionMaker); User user = new User(); user.setId("dahyekim"); diff --git a/src/main/java/com/toby/tobyspring/user/dao/UserDao.java b/src/main/java/com/toby/tobyspring/user/dao/UserDao.java index 16bf155..f3fa713 100644 --- a/src/main/java/com/toby/tobyspring/user/dao/UserDao.java +++ b/src/main/java/com/toby/tobyspring/user/dao/UserDao.java @@ -4,11 +4,11 @@ import java.sql.*; -public abstract class UserDao { +public class UserDao { private ConnectionMaker connectionMaker; - public UserDao() { - this.connectionMaker = new DUserConnectionMaker(); + public UserDao(ConnectionMaker connectionMaker) { + this.connectionMaker = connectionMaker; } public void add(User user) throws ClassNotFoundException, SQLException { Connection connection = connectionMaker.makeNewConnection();