은 내가 아는 한 객체 풀은 창조적 패턴과 플라이급은 구조 패턴이지만, 실제로 누군가가 나에게 차이를 설명하시기 바랍니다 수있는, 두 개의 패턴 사이에 매우 큰 차이를 참조 할수 없어 각은 할 수있을 때 구현에 유용합니까? 풀에서 얻은 자원은 일반적으로 변경할 수있는 동안 그 중소기업의에서플라이급 대 객체 풀 패턴 : 언제 각각 유용합니까?
19
A
답변
26
한 가지 차이점은, 일반적으로 불변의 인스턴스입니다.
동일한 상태를 포함하고있는 객체의 여러 인스턴스를 반복적으로 만드는 비용을 피하기 위해 플라이 웨이트를 만들려면 (모두 같기 때문에 하나만 만들고 응용 프로그램의 모든 위치에서 재사용하면됩니다), 풀은 개별적으로 제어하고 다른 상태를 가질 수있는 특정 리소스이지만 같은 상태에서 모두 초기화되므로 생성 및 삭제 비용을 지불하고 싶지 않습니다.
5
적어도 두 가지 중요한 차이점이 마음에 와서 : 플라이급 보통 이 도메인 오브젝트 동안
- 객체 풀 도메인 개체의 집합에 대한 컨테이너입니다. 다른 상태를 나타내는 각각 통상 다른 플라이급 객체 집합이 있지만
- 객체 풀은 일반적으로, 데이터베이스 연결과 같은 동시에 공유 할 수 유사한 객체의 집합을 포함한다.
1
이 사이트는 특정 예제와 함께 두 패턴을 설명합니다. 차이점을 분명히 밝혀 내고 위의 가브리엘의 응답을 지원합니다. http://www.oodesign.com/
최상의 답변! 제 생각에 플라이급은 일반적으로 고유 한 항목 만 포함되어 있기 때문에 메모리 볼륨을 최소화하는 데 사용됩니다. 개체 풀을 사용하면 성능을 향상시킬 수는 있지만 메모리를 많이 소비하게됩니다. – Warlock
일부는 플라이급 패턴도 캐시하고 있다고 생각합니다. 단일 불변 플라이급이 너무 많은 메모리를 차지한다면 메모리 절약을 말하기 어렵습니다. 이 불변의 객체를 한 번 그리고 한번 더 만드는 것보다 낫다고 말할 수 있습니다. – Chao