Design Patterns

반응형
반응형
Design Patterns/생성(Creational)

[Singleton]2. 패턴 구현 깨트리는 방법

By 백기선.코딩으로 학습하는 GoF의 디자인 패턴 Singleton 1. 개념 및 구현 방법 2. 패턴 구현 깨트리는 방법 3. 안전하고 단순하게 구현하는 방법 4. 자바와 스프링에서 찾아보는 패턴 패턴 구현 깨트리는 방법 1. 리플렉션 사용 리플렉션이란? 구체적인 클래스 타입을 알지 못해도, 그 클래스의 메소드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API 더 알아보기 public class singleton { public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException, IOException, C..

Design Patterns/생성(Creational)

[Singleton] 1. 개념 및 구현 방법

By 백기선.코딩으로 학습하는 GoF의 디자인 패턴 Singleton 1. 개념 및 구현 방법 2. 패턴 구현 깨트리는 방법 3. 안전하고 단순하게 구현하는 방법 4. 자바와 스프링에서 찾아보는 패턴 Singleton 패턴 인스턴스를 오직 한 개만 제공하는 클래스 - 시스템 런타임, 환경 세팅에 대한 정보 등 인스턴스가 어려개 일 때 문제가 발생할 수 있는 경우에, 오직 인스턴스 한 개만 만들어 제공하는 클래스가 필요하다. 아래와 같이 인스턴스를 생성한다면 settings1과 settings2는 서로 다른 객체가 된다. 하지만 환경 세팅과 같이 인스턴스가 오직 한 개만 생성되어야 할 때 싱글톤을 활용한다. public class singleton { public static void main(String..

Design Patterns/생성(Creational)

[디자인패턴]Strategy Pattern01_추상클래스와 인터페이스

추상클래스와 인터페이스를 먼저 정리하자. 1. 추상클래스 Absract Class - 추상메소드를 한개 이상 가지고 있고, abstract로 선언 - 추상메소드를 가지지 않지만, abstract로 선언 // 추상메소드를 가진 추상클래스 abstract class Shape{ Shape(){...} abstract public void edit(){...} // void edit(){...} // abstract public 생략가능 } // 추상메소드를 가지지않은 추상클래스 abstract class Volume{ String name; void load(String name){ this.naem = name; } } - 추상메소드를 가지면 반드시 추상클래스로 선언되어야 한다. - 추상클래스를 상속받은 ..

emojiyeon
'Design Patterns' 카테고리의 글 목록 (5 Page)