파이썬 디자인 패턴 - 생성디자인패턴 - 프로토타입 패턴
15 Aug 2018 | python designpattern 생성디자인패턴
1-4.프로토타입 패턴
- 프로토타입 패턴은 원래 객체를 복제한 새로운 객체를 만들고, 그 복제본을 변경해 사용하는 패턴이다
- 일단! 파이썬에서의 새로운 객체를 생성하는 방법을 살펴보자

- 위의
Point class가 있을 경우 새로운 객체를 만드는 방법은 7가지가 있다.
Point 클래스 객체를 생성자를 활용해 생성 (정적생성)
eval() 을 사용해 클래스 이름을 매개변수로 전달 (동적생성)
gettattr() 을 사용해 클래스 이름을 매개변수로 전달 (동적생성)
globals() 을 사용해 클래스 이름을 매개변수로 전달 (동적생성) - point3 과 동일한 방식
point5는 클래스 객체와 필요한 인자를 받는 제네릭 함수를 통해 생성
- 고전적인 프로토타입 접근법을 생성
- 먼저
copy.deepcopy()를 사용해 기존 객체를 복제
- 복제된 객체를 초기화하거나 애트리뷰트를 재설정
- 파이썬은 어떤 객체의 클래스 객체 (
__class__)에 접근할 수 있다
- 기존 객체를 복제한 다음 복제본을 수정하는 대신
- 클래스 객체를 활용해 바로 새로운 객체를 만들 수 있다.
1-4.프로토타입 패턴
- 프로토타입 패턴은 원래 객체를 복제한 새로운 객체를 만들고, 그 복제본을 변경해 사용하는 패턴이다
- 일단! 파이썬에서의 새로운 객체를 생성하는 방법을 살펴보자

- 위의
Pointclass가 있을 경우 새로운 객체를 만드는 방법은 7가지가 있다.Point클래스 객체를 생성자를 활용해 생성 (정적생성)eval()을 사용해 클래스 이름을 매개변수로 전달 (동적생성)gettattr()을 사용해 클래스 이름을 매개변수로 전달 (동적생성)globals()을 사용해 클래스 이름을 매개변수로 전달 (동적생성) - point3 과 동일한 방식point5는 클래스 객체와 필요한 인자를 받는 제네릭 함수를 통해 생성- 고전적인 프로토타입 접근법을 생성
- 먼저
copy.deepcopy()를 사용해 기존 객체를 복제 - 복제된 객체를 초기화하거나 애트리뷰트를 재설정
- 먼저
- 파이썬은 어떤 객체의 클래스 객체 (
__class__)에 접근할 수 있다- 기존 객체를 복제한 다음 복제본을 수정하는 대신
- 클래스 객체를 활용해 바로 새로운 객체를 만들 수 있다.
Comments