2017-01-15-Toby-Spring-3.1(ch1)

토비의 스프링 - 요약

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. - 이일민 지음

+ Recent posts