개인 공부/디자인패턴

디자인패턴 프로토타입

smallship 2024. 7. 12. 18:06

정의

  • 프로토타입 패턴은 객체를 복제하는 디자인 패턴이다. 주로 객체를 생성하는 비용이 크거나 복잡한 경우에 유용하게 사용된다. 이 패턴은 기존 객체를 복제하여 새로운 객체를 생성하는 방식으로 동작한다.

장점

 

  • 객체 생성 비용 감소: 복잡한 객체 생성 과정을 단순화하여 객체 생성 비용을 감소시킬 수 있다.
  • 유연성 증가: 클라이언트에서 객체를 복제하고 필요에 따라 수정할 수 있어 유연성이 높다.

 


유니티에서 활용해보자.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ProtoType_EX : MonoBehaviour
{
    public int a = 10;

    public int b = 10;

    public int c = 10;
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Prototype_Factory : MonoBehaviour
{
    public ProtoType_EX lastSpawnObject;

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.A))
        {
            lastSpawnObject.b = 20;
            Instantiate(lastSpawnObject.gameObject).GetComponent<ProtoType_EX>();
        }
        
        if (Input.GetKeyDown(KeyCode.B))
        {
            lastSpawnObject.b = 30;
            Instantiate(lastSpawnObject.gameObject).GetComponent<ProtoType_EX>();
        }
    }
}

 

스크립트를 작성한다.

빈 객체 두개를 생성하고 이름을 변경한 뒤 이름에 맞게 스크립트를 적용한 후 링크를 걸어준다.
a,b키를 누를때마다 복제되어 생성되는것을 확인할 수 있다.


결론

  • 프로토타입 패턴은 객체 생성에 관한 문제를 해결하고자 할 때 매우 유용한 패턴이다. 객체의 복사본을 만드는 것으로써 객체 생성과 초기화의 부담을 줄이고, 객체 지향 설계에서 유연하고 확장 가능한 코드를 작성할 수 있도록 도와준다.

'개인 공부 > 디자인패턴' 카테고리의 다른 글

디자인패턴 데코레이터  (0) 2024.07.15
디자인패턴 브릿지  (0) 2024.07.15
디자인패턴 싱글톤  (0) 2024.07.12
디자인패턴 빌더  (1) 2024.07.12
디자인패턴 추상팩토리  (2) 2024.07.12