[Spring] 싱글톤, 무상태(stateless)로 설계하라! [Singleton 패턴 주의사항]
·
▣ Framework/Spring🍃
- 싱글톤, 무상태(stateless)로 설계하라! 객체 인스턴스를 하나만 생성해서 공유하는 싱글톤 방식은 여러 클라이언트가 하나의 같은 객체 인스턴스를 공유하기 때문에 싱글톤 객체는 상태를 유지(stateful)하게 설계하면 안된다. - 잘못된 설계 : 상태가 유지되는 경우 - StateFulService.java public class StateFulService { private int price; // 상태를 유지하는 필드 public void order(String name, int price) { System.out.println("name = " + name + " price = " + price); this.price = price; // 여기가 문제! } public int getPric..
[정처기 실기] 디자인 패턴(Design Pattern) [서버 프로그램 구현 - 디자인 패턴]
·
◈ 자격증 공부/정보처리기사🔱
- 디자인 패턴(Design Pattern) 생성 패턴(Creational Pattern) 구조 패턴(Structual Pattern) 행위 패턴(Behavioral Pattern) 1. 생성 패턴(Creational Pattern) 클래스나 객체의 생성과 참조 과정을 정의하는 패턴 - 추상 팩토리(Abstract Factory) 인터페이스로 객체들의 그룹을 생성하여 추상적으로 표현. 구체적인 클래스에 의존 X → 연관된 서브 클래스를 묶어 한 번에 교체 가능 - 빌더(Builder) 작게 분리된 인스턴스를 건축 하듯이 조합하여 객체 생성 → 객체 생성 과정과 표현 방법 분리. 동일한 객체 생성에도 다른 결과 만들 수 있음 - 팩토리 메서드(Factory Method) 객체 생성을 서브 클래스에서 처리하..