ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Design Pattern] 프로토타입 패턴 (Prototype Pattern)
    공부/디자인 패턴 2020. 2. 23. 19:28

    프로토타입 패턴이란?

    프로토타입 패턴은 원래 객체를 복제한 새로운 객체를 만들고, 그 복제본을 변경해 사용하는 패턴이

    프로토 타입 패턴은 기존의 객체를 복사하여 새로운 객체를 만들고 복사한 객체를 변경하여 사용하는 패턴입니다. 여기서 복사된 객체를 프로토타입이라고 합니다. 이러한 행동을 하는 이유는 때때로 새로운 객체를 만드는 것이 기존 객체를 복사하는 것 보다 비용이 더 많이 들 수 있습니다. 예를 들어, DB에서 데이터를 가져오는 클래스가 있는데 프로그램 내에서 데이터 수정을 여러번 이뤄지면 똑같은 데이터를 매번 DB에서 가져오는 것은 좋지 않습니다. 이러한 문제로 인해서 인스턴스를 깊은 복사 또는 얕은 복사를 통해 1번만 DB에 접근하여 데이터를 수정할 수 있도록 합니다.

    파이썬에서..

    파이썬에서는 copy를 사용해 쉽게 구현할 수 있습니다.

    import copy


    class Score:
    def __init__(self, x, y):
    self.x = x
    self.y = y
    self.connect = False

    def connection(self):
    self.connect = True
    print('connection')


    score1 = Score(10, 20)
    score1.connection()


    score2 = copy.deepcopy(score1)
    score2.x = 90
    score2.y = 100

    print(score1.connect == score2.connect)

    # True


    댓글