MVC 패턴을 충분히 이해하고 있지만 C++의 실제 구현에는 놀라 울 정도로 적은 양의 정보가 있습니다. 이 응용 프로그램에서는 wxWidgets
과 boost::depedency_injection
을 사용하고 있지만 상황은 일반적이어야합니다.C++에서의 객체 소유 (MVC 패턴)
C++ 11/14에서 우리는 객체 소유에 대한 엄격한 규칙을 가지고 있습니다. 객체는 소유자간에 공유되거나 하나의 소유자에게 고유합니다. 또한 피 호출자가 소유하지 않은 객체에 대한 구식 포인터가 있습니다.
그래서, 질문 : 누가 C++에서 MVC의 어떤 개체 (모델/뷰/컨트롤러)를 소유하고 있습니까? 지금은
내 생각 엔 :
Views
가 unqiue_ptr
로 boost:di
에 의해 주입 controllers
을 소유하고있다. Controllers
은 views
이 소유하고 이 아니며은 어떤 형태로든 상태를 저장합니다 (models
카탈로그에서 실행되는 절차 만). Models
자체 shared_ptr
로의 주입을 통해 모든 controllers
사이에서 공유되고, 오른쪽에 대한 MVC는 controllers
동작
검색 결과 제공 및 데이터를 저장하는 데 사용된다?
왜 투표 마감까지해야합니까? – PiotrK
그럼 MVC 변종이 너무 많아서 대답하기가 어렵습니다. 그러나 컨트롤러는 뷰에 의해 소유되지 않습니다. 컨트롤러는 뷰와 모델 사이의 기능적 다리이므로 반대가되어야합니다. 모델이 뷰에 첨부되므로 뷰가 모델을 소유 할 수 있습니다. 이렇게하면 http://stackoverflow.com/questions/6929957/mvc-approach-with-c가 도움이 될 수 있습니다. –
@ Jean-BaptisteYunès 나는이 질문과 대답을 이미 읽었지만 MVC 이론에 불과합니다. 그리고 특정 구현 문제에 대해 묻고 있습니다 – PiotrK