NLP Blog

파이썬 디자인 패턴 - 생성디자인패턴 - 프로토타입 패턴

|

1-4.프로토타입 패턴


  • 프로토타입 패턴은 원래 객체를 복제한 새로운 객체를 만들고, 그 복제본을 변경해 사용하는 패턴이다
  • 일단! 파이썬에서의 새로운 객체를 생성하는 방법을 살펴보자

making point class

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

Comments