0

언제 프로토 타입 디자인 패턴을 사용해야할까요? 다양한 리소스에서 이해할 수있는 것은 새로운 연산자를 사용하여 클래스를 인스턴스화 할 때 또는 객체의 런타임 초기화를 원할 때 패턴을 사용하는 것입니다. 그렇다면 새로운 연산자를 사용하여 클래스의 인스턴스를 얼마나 비싸게 정의 할 수 있을까요? 클래스 정의가 너무 많은 필드를 포함하고 미래에 너무 자주 변경되지 않을 때 ???프로토 타입 디자인 패턴의 필요성?

새 게임마다 모든 플레이어를 설정하여 체스 보드를 인스턴스화하는 것이 새로운 운영자를 사용하여 인스턴스화하기에는 너무 비쌉니까?

동일한 항목을 통해 누군가를 확인할 수 있습니까?

답변

5

실제로 프로토 타입 패턴은 OOP와별로 관련이 없습니다. 즉 성능 향상을위한 방금 해결 방법 (특히 Java). 당신은 비용이 많이 드는 새로운를 사용하여 객체의 직접 생성을 볼 때 아이디어는 새로 생성 이상의 아니라 기존 단지 복제입니다.

당신이 여기에 있을지 모르는 질문 중 하나는 같은 물체 (동일한 메모리)를 참조 했는가 또는 다른지를 묻는 것입니다. 실제로 그들은 그곳에서 2 개의 독립된 대상 (추억)입니다. 첫 번째 객체를 복제하면 두 번째 객체 만 생성됩니다. 그 후에 그들은 서로 다른 실체입니다.

언제 프로토 타입 디자인 패턴을 사용해야할까요?

위에서 제안한 것처럼 직접 제작에는 많은 시간이 걸릴 것으로 생각됩니다. 비용이 많이 드는 작업이 있습니다 (예 : db 액세스 등). 그리고 복제는 비용이 적게 들고 비즈니스 논리에 해를 끼치 지 않을 것이라고 생각합니다. 즉 생성시 복제 된 속성은 문제가되지 않습니다. 체스 보드 질문 ----------

네, 실제로 당신이 거기 프로토 타입 패턴을 적용 할 수 있습니다에 관한

---------.

  • 앱 시작시 체스 보드 인스턴스를 초기화 할 수 있습니다.
  • 플레이어가 새 게임을 시작하려고 할 때마다 해당 인스턴스를 사용하여 복제하고 새 게임을 만들 수 있습니다.
  • 앱의 시작 부분에 앱을 만들어 메모리에 보관하기 때문에 메모리 사용량이 증가합니다.
  • 하지만 새 게임마다 복제 중이므로 처리 시간이 절약됩니다.
  • 그래서 기본적으로 성능 향상을 위해 처리 시간 대신 추가 메모리를 사용합니다.
+0

체스 보드 질문을 통해 나는 체스 개체를 만드는 것이 플레이어를 흰색과 검은 색 셀의 각각의 위치에 설정한다는 것을 의미하는 것이 었습니다. 어떻게하면 저축을 달성하는 것보다 비용이 많이 드는 작업으로 간주됩니다. 두 메모리 모두 동일한 메모리 공간을 절약 할 수있는 새로운 인스턴스를 생성하기 때문에 프로토 타이핑을 통해 메모리 리소스를 절약 할 수 있습니다. 따라서 새 게임을 시작할 때마다 모든 플레이어를 설치하는 것이 비용이 많이 드는 작업이되기 전에 고려해야합니까? 그렇다면 어떤 용어보다? 복제가 개발자의 시간을 절약한다는 측면에서 볼 때? –

+0

나는 초기 체스 보드 객체를 만드는 것을 언급하고 있다고 생각합니까? 그래서 당신은 초기 체스 보드 객체를 생성하거나 프로토 타입을 사용하기 위해 새로운 연산자를 사용하는 것이 좋은지 나에게 묻고 있습니까 ?? 나 맞아? –

+0

네, 그걸 이해하고 싶습니다. –