Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Plain Old Java Object

  • 객체지향 프로그래밍 기법과 언어가 주는 장점인 유연한 설계와 재사용성 활용하여 비즈니스의 복잡성과 변화를 상대함.
  • 객체지향 설계(OOD, Object Oriented Design) 및 객체지향 프로그래밍(OOP, Object Oriented Programming) 원칙을 참고할 것.

AnchorIoC / DI
Anchor
IoC / DI
IoC / DI

  • 객체의 힘은 추상화(Abstraction소프트웨어 공학에서는 일반적으로 높은 응집도(cohesion)와 다형성낮은 결합도(Polymorphism)에 있음coupling)를 지향함.
  • 와이어링(Wiring)
    • 객체는 홀로 동작하지 않고, 서로 협력하여 목적을 달성하기 위해 다른 객체를 참조하게 됨.
 
 이를 wiring이라고 함.
    • 사용할 클래스를 생성하기 위해 new 연산을 하게 되는데 이 때 의도치 않은 구체적 구현체에 대한 참조 발생.
  • 제어의 역전 (IoC)
    • Inversion Of Control
    • 프로그래머가 작성한 소스코드가 프레임워크의 흐름제어를 받는 소프트웨어 디자인 패턴임.
    • 프레임워크의 일반적인 속성. 콜백 프로그램만 작성하면 됨.
    • 헐리우드 법칙
  • 의존성 주입 (DI)
    • Dependency Injection
    • IoC 구현을 통해 의존관계 해결을 위한 소프트웨어 디자인 패턴임.
    • 테스트 하기 용이한 구조를 유도할 수 있음.

    • 스프링은 xml 설정이나 애노테이션을 통해 의존성 주입을 쉽게 할 수 있는 방법을 제공함.

...