반응형

Design Pattern 3

State 디자인 패턴 (상태를 클래스로)

state 디자인 패턴은 '상태', 사물의 모양이나 형태를 '클래스' 표현합니다. 클래스를 교체해서 '상태의 변화'를 표현할 수 있고 새로운 상태를 추가해야 될 때, 해당 상태에 해당하는 클래스만 정의해 주면 되는 패턴입니다. 목차 1. State 디자인 패턴을 활용한 예제 2. State 패턴을 사용하지 않은 방법 3. State 패턴을 사용한 방법 4. State 패턴의 등장인물 4-1. State 인터페이스 4-2. Concrete State 클래스1 (DayState) 4-3. Concrete State 클래스2 (NigntState) 4-4. Context 인터페이스 4-5. SafeFrame 클래스 (Context 구현 클래스) 4-6. Main 클래스 5. 분할해서 통치해라 6. 상태에 의존..

Design Pattern 2023.01.23

생산자(Producer) 소비자(Consumer) 패턴

오늘은 멀티 스레드 디자인 패턴인 생산자(Producer) 소비자(Consumer) 패턴의 대해서 포스팅 하겠습니다. 1. 생산자(Producer) 소비자(Consumer) 패턴 이란? 생산자(Producer) 소비자(Consumer) 패턴은 '작업' 목록을 가운데에 두고 '작업을 생산해 내는 주체' '작업을 처리하는 주체'를 분리시키는 설게 방법 입니다. '작업을 생성하는 부분(Producer)'과 '처리하는 부분(Consumer)'이 각각 감당 할수 있는 부하를 조절 할 수 있다는 장점이 있습니다. Producer는 작업을 새로 만들어 큐에 쌓아 두고, Consumer는 큐에 쌓여 있는 작업을 가져다 처리하는 구조 입니다. Producer는 어떤 Consumer가 몇 개나 동작하고 있는지에 대해 전혀..

Design Pattern 2020.08.23

템플릿 메서드(Template Method) 패턴

1. 템플릿 메서드(Template Method) 디자인 패턴 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내용은 변경 가능 하도록 만든 디자인 패턴 입니다. 추상 클래스와 구현 클래스로 나누어, 로직의 기본 골격의 해당하는 부분은 템플릿 메서드(Template Method) 로 구현 하고, 로직의 확장/변경 가능한 부분을 추상 메서드(abstract method)로 정의하여 구현 클래스는 이 추상 메서드(abstract method)를 구현하여 사용 합니다. 2. 몸무게와 키 국가별 로컬라이제이션(Localization) abstract class LocaleItemFormatter{ Pattern onlyNumberPattern = Pattern.compile("[^0-9.]")..

Design Pattern 2020.08.18
반응형