본문 바로가기

Software Engineering

(2)
[SW Engineering] 디자인 패턴(Design Pattern) (2) - 스프링이 사랑한 디자인 패턴 디자인 패턴은 자주 접하는 설계 문제를 해결해주는 솔루션으로 크게 구분하면 생성 패턴, 구조패턴, 행위패턴으로 구분되며 23개의 대표적인 패턴이 존재한다. 나는 최근 Spring 프레임워크를 학습하고 있다. Spring에서 자주 사용되는 디자인 패턴에 대해서 알아보자. 스프링(Spring) 스프링(Spring)은 Java 엔터프라이즈 애플리케이션 개발에 사용되는 오픈소스 프레임워크이다. 개발자들이 도메인(비즈니스 로직, POJO*)에 집중할 수 있도록, 개발에 필요한 부가 설정(보안, 트랜잭션, 로깅 등)을 간단하게 적용할 수 있게 도와준다. *POJO : Plain Old Java Object " 스프링의 핵심 철학은 객체지향의 기본으로 돌아가자는 것" 스프링은 Object(객체)를 중요시하며, 객체를..
[SW Engineering] 디자인 패턴(Design Pattern) (1) - 디자인 패턴이란? 디자인 패턴이란? 디자인 패턴은 자주 접하는 설계 문제를 해결해주는 증명된 솔루션을 체계적으로 정리한 것으로, 다양한 분야의 객체지향 프로그램을 설계하는 과정에서 자주 반복되는 설계 문제를 해결해준다. GoF(Gang of Four)의 23가지 디자인 패턴 중 싱글턴 패턴(Singleton Pattern)은 '어떻게 하면 시스템 안에 객체가 유일하게 존재하게 하는가?' 라는 문제를 해결해준다. 그림 1의 Subject 클래스가 하나만 존재하고 싶은 클래스이다. 클래스 안에 정적인 인스턴스 변수로 자신의 타입을 가지게 하고 생성자를 외부에서 사용하지 못하도록 private으로 선언한다. 또한, getInstance() 함수는 최대 한 개의 객체만 생성하도록 하고 다른 외부 객체에서 정적 호출을 통해 접근하..