본문 바로가기

강의/Design pattern

(21)
빌더 (Builder) 패턴 https://velog.io/@sillutt/%EB%B9%8C%EB%8D%94-Builder-%ED%8C%A8%ED%84%B4 빌더 (Builder) 패턴 빌더 패턴 velog.io 빌더 패턴 다양한 구성으로 만들어지는 인스턴스에 대해서 동일한 프로세스를 통해 만들 수 있게 도와주는 패턴. 객체를 만드는 프로세스를 독립적으로 분리할 수 있다. Director를 추가하여 빌더를 사용하면 반복되는 호출 스택을 빌더 내에 숨기고 client는 Director를 통해서 객체를 받아 사용할 수 있다. Builder class / interface public interface TourPlanBilder { TourPlanBuilder title (String title); TourPlanBuilder night..
추상 팩토리 (Abstract factory) 패턴 https://velog.io/@sillutt/%EC%B6%94%EC%83%81-%ED%8C%A9%ED%86%A0%EB%A6%AC-Abstract-factory-%ED%8C%A8%ED%84%B4 추상 팩토리 (Abstract factory) 패턴 추상 팩토리 패턴 velog.io 추상 팩토리 (Abstract factory) 패턴 팩토리를 추상화된 형태로 정의하는 패턴. 팩토리를 사용하는 클라이언트에 초점을 맞춘다. 추상 팩토리의 목적은 인스턴스화 하는 코드를 인터페이스 기반으로 하도록 돕기 때문에 모양은 팩토리와 흡사하나 사용하는 코드도 함께 이해해야 한다. public class WhiteshipPartsFactory implements ShipPartsFactory { @Override public..
팩토리 메소드 (Factory method) 패턴 https://velog.io/@sillutt/%ED%8C%A9%ED%86%A0%EB%A6%AC-%EB%A9%94%EC%86%8C%EB%93%9C-Factory-method-%ED%8C%A8%ED%84%B4 팩토리 메소드 (Factory method) 패턴 어떤 객체 및 인스턴스를 생성하는 책임을 추상적인 인터페이스의 메소드로 감싸는 패턴이다. velog.io 팩토리 메소드 (Factory method) 패턴? 어떤 객체 및 인스턴스를 생성하는 책임을 추상적인 인터페이스의 메소드로 감싸는 패턴이다. 구체화한 클래스에 모든 코드를 넣는 작업은 복잡하기 때문에 팩토리 패턴을 사용한다. 팩토리 역할을 할 인터페이스를 만들고 메소드들을 정의한다. 이 중 일부를 하위 클래스에서 구체적인 인스턴스를 만들게 된다. ..
싱글톤(Singleton) 패턴 https://velog.io/@sillutt/%EC%8B%B1%EA%B8%80%ED%86%A4Singleton-%ED%8C%A8%ED%84%B4 싱글톤(Singleton) 패턴 Singleton 패턴 velog.io Singleton 개념 Singleton이란? 인스턴스를 한개만 제공하는 클래스 만들어진 1개의 인스턴스에 글로벌하게 접근할 수 있는 방법이 필요함 -> 오직 1개만 존재해야하는 경우 (설정 화면, 메뉴 등) Code Example public class App { public static void main(String[] args) { Settings settings1 = new Settings(); Settings settings2 = new Settings(); //true Syste..
[Java] Volatile volatile 자바 코드의 변수를 메인 메모리에 저장할 것을 명시하기 위해 사용한다. 모든 volatile 변수는 컴퓨터 메인 메모리로부터 읽히고, 쓰기 작업 또한 메인 메모리로 직접 이루어진다. 따라서 CPU 캐시를 사용하지 않는다. volatile 사용해서 가시성을 보장한다. 가시성 보장 volatile 키워드가 없다면 멀티 스레드 환경에서 자원에 접근할 때 변수가 언제 cpu 캐시에서 메모리로 쓰일 지 보장할 수 없다. 즉, 캐시와 메모리 상의 변수가 서로 다른 값이 될 수 있는 것이다. 이처럼 다른 스레드가 변경한 값을 볼 수 없는 상태를 가시성 이라고 한다. > 정리 volatile 키워드를 사용하면 메인 메모리에서 직접 쓰기 때문에 일관성이 보장된다. 단점 경쟁 상태 멀티스레드 환경에서 vo..

LIST