• IoC(Inversion Of Control) / DI(Dependency Injection)

    이 글에서는 Spring이 사용하고 있는 IoC(Inversion of Control)와 DI(Dependency Injection)에 대해서 알아볼 것이다. IoC/DI에 대해 알아보기 전에 자바에서의 의존성이란 무엇을 의미하는지에 대해서 먼저 알아보자. 프로그래밍에서 의존성이란? 자동차와 타이어를 예로들어 의존성에 대해서 설명하겠다. 의사 코드 운전자(Driver)가 자동차(Car)를 생산한다. 자동차(Car)는 내부적으로 타이어(Tire...


  • Strategy Pattern and Template Callback Pattern

    Spring이 사랑하는 Design Pattern 이 글에서는 Spring이 사랑하고 Spring이 적용한 디자인 패턴중 Strategy Pattern, Template Callback Pattern에 대해서 알아볼 것이다. Strategy Pattern 전략 패턴(Strategy Pattern)을 구성하는 세 요소는 다음과 같다. 전략 메서드를 가진 전략 객체 전략 객체를 사용하는 컨텍스트(전략 객체의...


  • Singleton, Template Method and Factory Method Pattern

    Spring이 사랑하는 Design Pattern 이 글에서는 Spring이 사랑하고 Spring이 적용한 디자인 패턴중 Singleton Pattern, Template Method Pattern, Factory Method Pattern에 대해서 알아볼 것이다. Signleton Pattern Singleton Pattern이란 인스턴스를 하나만 만들어 사용하기 위한 패턴이다. (ex. 커넥션 풀, 스레드 풀, 디바이스 설정...


  • Adapter, Proxy and Decorator Pattern

    Spring이 사랑하는 Design Pattern 이 글에서는 Spring이 사랑하고 Spring이 적용한 디자인 패턴중 Adapter, Proxy and Decorator Design Pattern에 대해서 알아볼 것이다. Adapter Pattern 어댑터를 번역하면 변환기(Converter) 라고 할 수 있다. 변환기의 역할은 서로 다른 두 인터페이스 사이에 통신이 가능하게 하는...


  • 객체 지향 설계 5원칙 - SOLID

    객체 지향 설계 5원칙 - SOLID 이 글에서는 객체 지향 프로그램을 올바르게 설계해 나가는 원칙인 객체 지향 설계 5원칙 SOLID에 대해서 Java를 기반으로 알아볼 것이다. SOLID는 로버튼 C. 마틴(Robert C. Martin)이 2000년대 초반 객체 지향 프로그래밍 및 설계의 다섯 가지...