봉봉의 개인 블로그

2017-07-13-P(의존성 주입) 본문

학원에서 배운것들/TEA - P

2017-07-13-P(의존성 주입)

봉봉이네 2017. 7. 13. 11:27

의존성 주입(Dependency Injection, DI)

의존성을 주입하는 이유는 클래스같에 의존성을 떨어뜨리기 위해서이다.

의존성을 떨어뜨리는 이유는 

만약 A클래스가 있고 B 클래스가 있고 A클래스는 B b = new b();를 가지고 있을때

A클래스는 B없이는 생성될수 없게 된다.그렇게 되므로 의존성을 떨어뜨려 유지보수에도 도움이 되게 만들고 서로 떨어 뜨리므로써 작업에 용이하게 만들수 있게된다.


의존성 주입(Dependency Injection, DI)

일반적으로 객체를 이렇게해서 생성합니다.

예)

사람객체 만들기

-머리A , 몸통 , 팔 , 다리 클래스 정의
-사람 클래스 정의


-사람 클래스 각각의 필드에 머리A,몸통,팔,다리 클래스 합성
-사람 클래스 안에서 머리A,몸통,팔,다리 클래스의 객체를 생성하고 각각의 필드에 설정

사람객체 생성

(머리만 머리A클래스로 명명한것은 이해를 돕기 위해서이다.)
클래스 합성은 언제든지 변경될 수 있습니다.

사람객체 수정하기
-사람 클래스의 머리 필드를 머리 A 클래스에서 머리B클래스로 변경
-사람 클래스를 수정해야함
-사람 클래스 합성에 영향 발생

의존성 주입으로 다시 설명하자면

사람객체만들기
-머리A,몸통,팔,다리 클래스 정의
-사람 클래스 정의
-사람 클래스의 각각의 필드와 머리A,몸통,팔,다리 클래스의 의존성을 정의한 Bean Context 작성
-Bean Context정보 기준으로 객체를 생성하고 의존성 주입

사람객체 수정하기
-사람 클래스 머리 필드를 머리 A클래스에서 머리B클래스로 변경
-BeanContext를 <bean id=머리 class=머리B클래스>로 수정
-사람클래스에는 영향이 없음


'학원에서 배운것들 > TEA - P' 카테고리의 다른 글

2017-07-20-P(프로세스 모델링과 CRUD 매트릭스)  (0) 2017.07.20
2017-07-14-P(IoC)  (0) 2017.07.14
2017-07-07-P  (0) 2017.07.07
2017-07-06-P  (0) 2017.07.06
2017-06-27-P  (0) 2017.06.27
Comments