파이썬 디자인 패턴 - 생성디자인패턴 - 싱글턴 패턴 + 파이썬 생성디자인 패턴 정리
15 Aug 2018 | python designpattern 생성디자인패턴
1-5. 싱글턴 패턴
- 싱글턴 패턴은 프로그램 전체에서 어떤 클래스의 인스턴스가 오직 하나만 필요할 때 활용
- 일부 긱체 지향 언어에서는 싱글턴 생성이 매우 복잡하지만 파이썬은 굉장히 쉽다.
- 가장 쉬운 방법은 비공개 변수에 저장되어 공개된 함수를 통해서만 접근할 수 있는 전역 상태를 지닌 모듈을 생성하는 것
- 환율에 대한 dict (key=통화 이름, value=환율)을 반환하는 함수가 필요
- 이 함수를 여러 번 호출할 수도 있겠지만, 대부분의 경우 이 값을 단 한번만(호출할 때마다가 아니고) 가져오고자 한다
- 싱글턴 패턴을 활용
get.rates
dict를 get()
메서드의 attribute로 생성했는데, 이는 비공개 attribute에 해당한다.
- 공개함수
get()
은 처흠 호출되면(또는 refresh=True이면) 환율을 다운로드 한다.
- 그렇지 않은 경우, 가장 최근에 다운로드한 환율 dict를 반환
- 클래스를 만들 필요가 없이 싱글턴 데이터값을 갖게 된 셈이다.
파이썬 생성 디자인 패턴의 정리
- 모든 디자인 패턴은 파이썬으로 간단히 구현이 가능
- 싱글턴 패턴은 모듈을 활용해 직접적으로 구현 가능
- 프로토타입 패턴은 클래스 객체에 대한 동적 접근을 허용하는 파이썬의 특성상 필요하지 않음 (copy모듈을 통해 구현 가능)
- 파이썬에서 가장 유용한 생성 디자인 패턴
- 팩터리 메서드 패턴
- 빌더 패턴
1-5. 싱글턴 패턴
- 싱글턴 패턴은 프로그램 전체에서 어떤 클래스의 인스턴스가 오직 하나만 필요할 때 활용
- 일부 긱체 지향 언어에서는 싱글턴 생성이 매우 복잡하지만 파이썬은 굉장히 쉽다.
- 가장 쉬운 방법은 비공개 변수에 저장되어 공개된 함수를 통해서만 접근할 수 있는 전역 상태를 지닌 모듈을 생성하는 것
- 환율에 대한 dict (key=통화 이름, value=환율)을 반환하는 함수가 필요
- 이 함수를 여러 번 호출할 수도 있겠지만, 대부분의 경우 이 값을 단 한번만(호출할 때마다가 아니고) 가져오고자 한다
- 싱글턴 패턴을 활용
get.rates
dict를get()
메서드의 attribute로 생성했는데, 이는 비공개 attribute에 해당한다.- 공개함수
get()
은 처흠 호출되면(또는 refresh=True이면) 환율을 다운로드 한다. - 그렇지 않은 경우, 가장 최근에 다운로드한 환율 dict를 반환
- 클래스를 만들 필요가 없이 싱글턴 데이터값을 갖게 된 셈이다.
파이썬 생성 디자인 패턴의 정리
- 모든 디자인 패턴은 파이썬으로 간단히 구현이 가능
- 싱글턴 패턴은 모듈을 활용해 직접적으로 구현 가능
- 프로토타입 패턴은 클래스 객체에 대한 동적 접근을 허용하는 파이썬의 특성상 필요하지 않음 (copy모듈을 통해 구현 가능)
- 파이썬에서 가장 유용한 생성 디자인 패턴
- 팩터리 메서드 패턴
- 빌더 패턴
Comments