Utworzono obiekty będące interfejsami do usługi WWW. Typowym obiektem byłoby "TaskService". Gdy klient używa jednego z tych obiektów, wywołuje jedną z metod usługi (takich jak "GetTasks"), a usługa asynchronicznie wyrusza w celu wywołania zdalnej usługi WWW i odsyła pobrane dane przez delegata.Singleton z delegatem: Dobry pomysł czy zło?
Obecnie, aby skorzystać z jednej z tych usług, trzeba ją utworzyć przy pomocy [[TaskService alloc] init], ale zdecydowałem, że bardziej sensownym jest uczynienie każdej usługi pojedynczym obiektem.
Czy często można zobaczyć obiekty singleton, które zawierają odniesienia do delegatów? Moim głównym problemem związanym z projektem jest to, że każdy obiekt, kiedy wymaga użycia określonej usługi, będzie musiał ustawić się jako delegat przed wywołaniem usługi, co nie wydaje mi się całkiem słuszne ... Co jeśli inny obiekt mieli się ustawić jako delegat między wami, ustawiając siebie jako delegata i wywołując usługę?
Wielkie dzięki z góry!
Pozdrawiam, Nick
Nie mam pojęcia, czym jest multiplekser delegatów (nadawca jakiegoś rodzaju?), Ale wydaje mi się to zbyt skomplikowane, abym mógł je wdrożyć, więc postaram się pozostać z dala od czegoś takiego! Aby zaimplementować kolejkę operacji, czy miałbym rację myśląc, że każda metoda musiałaby przyjąć argument/argument jako delegat?Tak więc "wnioski" mogą być umieszczane w kolejce, a towarzyszący im delegaci zostaną wezwani po zakończeniu? –
Powszechny multiplekser to termin, który właśnie wymyśliłem dla kodu, który napiszesz w swoim singletonie, aby dowiedzieć się, któremu delegatowi wysłać dowolny wynik. Operacja op que mogłaby lepiej zamknąć każdą operację (pobranie i powiadomienie delegata). Więc tak, wnioski będą w kolejce w ten sposób. – Rayfleck