반응형

디자인 패턴 2

Singleton pattern, 싱글톤 패턴

싱글톤 패턴이란 Singleton pattern(싱글톤 패턴)은 인스턴스가 오직 하나만 생성되고, 어디서든지 이 인스턴스에 접근할 수 있게 하는 디자인 패턴이다. 객체를 생성하는 과정 없이 static method인 getInstance로 인스턴스를 바로 사용한다. 스타크래프트의 SCV가 Mineral, Gas를 수집하고, 사용하는데 전역적으로 사용되는 객체인 자원 Mineral과 Gas는 Singleton pattern으로 표현될 수 있다. 이를 다음과 같이 표현할 수 있겠다. 클래스 다이어그램 Resource를 추상클래스로 두고 Mineral과 Gas는 상속 받는다. 메소드의 행위는 같고 자원의 속성 값(amount)만 다르기 때문이다. 코드 타입스크립트 코드로 나타내면 다음과 같다. Main 함수에..

Design Pattern 2020.04.02

Strategy pattern, 스트레이티지 패턴

Strategy pattern 이란 컴퓨터 프로그래밍에서 Strategy pattern(스트레이티지 패턴) 혹은 Policy pattern은 런타임에 알고리즘을 선택할 수 있는 behavioral(행위) 소프트웨어 설계 패턴이다. 코드에 알고리즘을 직접 구현하지 않고, 사용할 알고리즘을 런타임에 수신되도록 한다. Strategy는 알고리즘을 사용하는 클라이언트와 독립되도록 한다. Strategy pattern을 스타크래프트의 테란 유닛을 typescript로 구현 하는 예로 설명한다. 간단히 설명하기 위해 공격 가능한 유닛 'Marine'과 'Ghost'를 구현해볼 예정이다. 'Marine'은 체력이 40, 크기는 소형, 공격형은 일반형이다. 'Ghost'는 체력이 45, 크기는 소형, 공격형은 진동형이..

Design Pattern 2020.04.01
반응형