전문가들,Smart Pointer를 사용하는 C++의 "Observer-Pattern"?
내가 실제로이 게시판에 질문을 올리면서 과거에 많은 도움을받은 것은 이번이 처음입니다. 나는 아직도 프로그래밍 초보자이며 지난 몇 개월 동안 & 소프트웨어 개발을 프로그래밍하는 것에 대해 많은 것을 배우려고 노력해 왔습니다.
최근에 "C++ 11-Smart Pointers"라는 주제를 다루었으며 리소스 관리를 위해 shared_ptr & weak_ptr을 사용하는 "Observer Pattern"을 포함하여 몇 주 전에 배운 모든 디자인 패턴을 다시 작성하기로 결정했습니다.
관찰자 패턴의 간단한 구현 (헤드 퍼스트의 디자인 패턴 또는 디자인 패턴 : E.Gamma)을 작성할 때, 관찰 대상과 관찰자 모두에 대해 인터페이스 클래스를 사용하고 정확히 하나 각각 구체적인 클래스를 사용하여 Visual Studio에서 다양한 오류 메시지를 받았습니다. 이 패턴에서 shared_ptr과 weak_ptr을 결합하는 방법을 이해하지 못했습니다. 이는 둘 다의 조합을 완전히 이해하지 못하기 때문일 수 있습니다.
유감스럽게도 인터넷을 철저히 검색해도 나를위한 방향으로 작용할 수있는 "스마트 포인터를 사용하는 관찰자 패턴"의 간단한 예제가 제공되지 않았습니다.
나는 너희들 중 누군가가 그런 간단한 임 플레멘 테이션을 어디에서 발견 할 수 있는지, 아니면 나 자신에게 하나를 제공하기 위해 너무 친절한 지 궁금해하고 있었다. 모두
덕분에 많은
coderAndi
우리가 패턴과 오류를 구현하려는 시도를 보여 주면 아마도 approcah를 도울 수 있습니다. 간단히 말해서, 지금까지 시도한 것은 무엇입니까? –
@ArneMertz 그는 문제를 정의하기 전에 솔루션 (스마트 포인터)을 선택하여 역으로 진행할 것입니다. 실제로 관찰자 패턴은 스마트 포인터가 적절하지 않을 때 사용되도록 설계된 무언가의 대표적인 예입니다. –
Observer-> Observable 연결을 리소스로 볼 수 있으며 스마트 포인터를 사용하여 해당 리소스를 관리 할 수 있습니다. 하지만 그가 의도 한 바가 아님을 생각합니다 .- –