Open freakFlow opened 5 months ago
Builder 패턴에 대해서 설명하겠습니다. 빌더 패턴(Builder Pattern)은 복잡한 객체의 생성과정과 표현방법을 분리하여 인스턴스를 만드는 생성패턴입니다. 생성자에 들어갈 매개변수를 메서드로 하나하나 받고 마지막에 통합 빌드해서 객체를 생성하는 방식입니다. 빌더패턴을 이용하면 데이터의 순서에 상관없이 객체를 만들어내며 일관성(필수 매개변수)의 문제와 불변성(Setter의 노출X)의 문제가 보완됩니다. 코드의 가독성면에서도 우수합니다.
옵저버 패턴 어떤 객체의 상태가 변경될 때마다 옵저버들에게 변화를 알려주는 패턴 sns의 팔로우 등 주로 이벤트 기반 시스템이나 MVC 패턴에서 사용됨 장점으로는 객체의 상태변화를 주기적으로 감지하지 않고도 알 수 있다. 단점으로는 옵저버는 알림 순서를 제어할 수 없고, 무작위 순서로 알림을 받게된다.
답변
전자의 경우
싱글톤 패턴에 대해 설명하겠습니다.
싱글톤 패턴이란, 애플리케이션에서 인스턴스를 하나만 만들어 사용하기 위한 패턴입니다.
최초 한 번만 메모리를 할당하고, 이후엔 생성된 인스턴스를 반환하기에 메모리 낭비를 방지할 수 있는 장점이 있습니다.
그러나 멀티 스레드 환경에서 동시성으로 인해 인스턴스가 2개 생성되는 문제가 발생할 수 있습니다.
따라서 메서드에 동기화처리를 해줘야하는 주의사항이 있습니다.
후자의 경우