Nie sądzę, że widziałem to porównanie nigdzie, ale czy będą one uważane za takie same? Jeśli nie, dlaczego nie?Czy sygnały i gniazda Qt są formą subskrypcji publikującej?
6
A
Odpowiedz
1
publikować subskrybować jest taka sama jak sygnałów i slotów ... sprawdzić ten ...
14
Są bardzo podobne, ale jest mała różnica:
Sygnały/gniazda zaimplementują wzorzec obserwatora, w którym producent odwołuje się do swojego subskrybenta ków i jest odpowiedzialny z powiadomieniem im
publikowania/subskrypcji paradygmat wstawia dodatkowy mediatora, czyli obsługi temat, który oddziela producentów i konsumentów (producentów ma nie wiedzieć, kto będzie zużywać wiadomości)
Główną konsekwencją jest to, że w paradygmacie p/s możesz mieć wielu producentów na ten sam temat.
Jest (prawdopodobnie) najbardziej cytowany artykuł o P/S The many faces of publish/subscribe
Powiązane problemy
- 1. Debuguj sygnały Qt, gniazda i połączenia
- 2. Pytanie Qt: Jak działają sygnały i gniazda?
- 3. Sygnały i gniazda, wzór w Qt?
- 4. Co to są sygnały i gniazda?
- 5. kaskady i sygnały/gniazda
- 6. W jaki sposób Qt implementuje sygnały i gniazda?
- 7. Jak tworzyć dynamiczne sygnały i gniazda w Qt?
- 8. Sygnały Qt (QueuedConnection i DirectConnection)
- 9. Usuwanie obiektów wysyła sygnały, własności obiektów w sygnały, Qt
- 10. Qt gniazda typu sygnały, odlewane w nowej notacji
- 11. Qt sygnały i gniazda, wątki, app.exec() i związane z nimi pytania
- 12. Sygnały/gniazda Qt: Czy wysyłanie sygnału z obiektu tymczasowego jest błędem?
- 13. Qt i C++ - niezdefiniowane odniesienie do gniazda
- 14. Jak śledzić emitowane sygnały w QT?
- 15. Jak przetwarzać sygnały w podklasie Qt?
- 16. Qt - emitujące gniazda zamiast sygnałów
- 17. Wizualizacja sygnałów i gniazd QT
- 18. Czy gniazda są zintegrowane ze standardem C++?
- 19. Czy potrzebuję subskrypcji MSDN?
- 20. Czy sygnały django są również zawarte w dekoratorze transaction.atomic?
- 21. W Qt (4.6), czy można bezpośrednio wywoływać gniazda?
- 22. ZeroMQ i wiele filtrów subskrypcji w Pythonie
- 23. Sprawdź, czy klawiatura i mysz są dostępne z Qt
- 24. Xcode Wyjdź kody i sygnały
- 25. Czy można zignorować wszystkie sygnały?
- 26. W jaki sposób sygnał i gniazda są zaimplementowane pod maską?
- 27. Jak niezawodne są gniazda domeny unix?
- 28. Funkcje odbierania/wysyłania boost.asio gniazda są złe?
- 29. Pole wprowadzania html poza formą
- 30. Jeśli w lesie jest emitowany sygnał Qt i nikt nie jest w pobliżu, aby go usłyszeć, czy wydaje dźwięk?
+1 jest istotna różnica technicznym. W praktyce oznacza to, że w architekturze p/s można zastąpić jednego lub więcej producentów bez wpływu na konsumentów (ponieważ nie odnoszą się bezpośrednio do producenta). To świetnie nadaje się do testowania logiki konsumenckiej (zastąpienie producenta komponentem, który "stymuluje" konsumentów). Podobnie można dodawać lub wymieniać konsumentów, producent nie dba o to. Świetne do testowania logiki producenta. – Schollii