백엔드/Java_디자인패턴(2)
-
[Java_디자인패턴] 싱글톤 패턴(Singleton Pattern)
싱글턴 패턴 인스턴스가 오직 1개만 생성되어야 하는 경우 사용되는 패턴. 싱글턴을 만들 때 동시성(Concurrency) 문제를 고려해서 설계해야 함 멀티 스레딩 환경헤도 동작 가능하게끔 구현해야 함. private constructor를 가짐. static method를 사용함. 보통 가장 많이 사용되는 싱글턴 구현 방식은 LazyHolder 방식임. 싱글턴 패턴 사용시 주의사항 클래스 로더를 2개 이상 사용하는 경우, 인스턴스가 2개 이상 생성될 수 있기 때문에 이런 경우에는 클래스 로더를 지정해야 함. 자바와 스프링의 싱글턴 차이점은, 자바에서 싱글톤 객체의 생명주기는 클래스 로더가 기준이지만, 스프링에서는 어플리케이션 컨텍스트(ApplicationContext)가 기준이 됨. 클래스 로더 기준이라..
2020.12.11 -
[Java_디자인패턴] 팩토리 패턴(Factory Pattern)
팩토리 패턴 생성 할 클래스를 미리 알지 못해도 팩토리 클래스가 객체 생성을 담당 객체의 자료형이 하위클래스에 의해서 결정(확장 용이성) 동일한 형태로 프로그래밍 가능 확장성 있는 전체 프로젝트 구성 가능 객체가 늘어날 때 마다 하위 클래스 재정의로 인한 불필요한 많은 클래스 생성 가능성 TV interface package polymorphism; public interface TV{ public void powerOn(); public void powerOff(); public void volumeUp(); public void VolumeDown(); } LgTV.java package polymorphism; public class LgTV implements TV{ public void powe..
2020.12.05