토비의 스프링 - 요약
ch1 오브젝트와 의존관계
리팩토링 , 디자인페턴
- 기능은 그대로,다른코드
- 관심사항을 분리하고 , 영향을 끼치지 않게 독립적으로
- GoF의 디자인페턴 , 헤드퍼스트 추천 !
템플릿메소드 페턴
- 상속을 통해 슈퍼클래스의 기능을 확장
- 슈퍼 : 추상메소드정의 , 기본알고리즘구현
- 서브 : 구현해서 확자사용
펙토리 메소드 페턴
- 상속을 통해 기능확장하는점은 같음
- 주로 인터페이스형태로 리턴
OCD - ( Open - Closed Principle )
- 확장에는 열려있고 변경에는 약하게
응집도와 결합도
- 응집도 : 높을수록 하나의 관심사에 집중
- 결합도 : 높을수록 다른 기능에 영향을 주고 받는다
- 높은 응집도와 낮은 결합도를 가진 프로그래밍. 관심있는 기능끼리는 모으고, 관심외 분야에 영향을 적게 받게 만든다.
IoC 제어역전
- 자신이 사용할 오브젝트를 스스로 결정하지 않는다.
- 수동적으로 사용되게
- 내가만든 코드가 어떻게 사용될지 모른다 !
라이브러리 vs 프래임워크
- 라이브러리 : 에플리케이션이 라이브러리를 사용한다.
- 프래임 워크 : 프레임워크가 에플리케이션 코드를 실행한다.
용어정리
- bean
- 스프링이 IoC 방식으로 관리하는 오브젝트
- bean factory
- IoC를 담당하는 핵심 컨테이너, 빈을 등록 생성 조회 반환 등 관리
- application context
- 빈 팩토리를 확장한 IoC컨테이너
- configuration metadata
- IoC를 적용하기 위해 사용하는 정보
- IoC container
- IoC방식으로 빈을 관리한다는 의미에서 bean factory나 application context를 container라고 함
동일성과 동등성
- 동일성
- ==
- dentical
- 사실상 같음
- 동등성
- equality
- .equals()
- 기능상 같음(같은기능을 하는)
싱클톤 레지스트리
- private로 생성자를 만드는 싱글톤 기법을 사용하지 않고도 싱글톤을 보장함
- 일반 싱글톤으로는 상속 불가, 테스트힘듬, 서버환경에서 싱글톤 보장불가 등 다양한 이슈가 있어서 이를 해결하기위해 나옴
DI 의존성 주입
- 의존성 : A가 B에 의존적이다 : B에따라 A가 바뀐다 : A가 B를 사용하고 있다 : A - - -> B
- 생성자 보다는 Setter !
- 외부 (제 3자가 )에서 의존성을 맺어준다 ! - > application context , bean factory , IoC container
XML 설정
- 위와같은 패턴으로 DI를 할 경우 반복적으로 정형화된 패턴이 나타나므로 XML포멧으로 나타 낼 수 있음 .
- 예제는....
출처 : 토비의 스프링 3.1 vol1. - 이일민 지음
'Programming > JAVA' 카테고리의 다른 글
spring mvc 에서 unit test 구현 (Controller, Service, DAO) (1) | 2017.03.23 |
---|---|
토비의 스프링 요약 (ch3 - 템플릿) (2) (0) | 2017.03.23 |
토비의 스프링 요약 (ch3 - 템플릿) (1) (0) | 2017.03.23 |
토비의 스프링 요약 (ch2 -테스트)(2) (0) | 2017.03.23 |
토비의 스프링 요약 (ch2 - 테스트) (0) | 2017.03.23 |