Więc jestem nowy w rozwoju iOS i robię wszystko, aby nauczyć się "najlepszego" sposobu robienia rzeczy. (Tak, wiem, że jest to pojęcie względne)Ekwiwalenty wzorców w systemie iOS pochodzące ze świata C#/Java?
Pochodzę ze świata C# i Java, gdzie robimy rzeczy takie jak wstrzykiwanie zależności przez kontener IOC, używanie wzorca repozytoriów do abstrakcyjnego dostępu do danych, korzystania z usług domenowych i obiektów enkapsulacji danych biznesowych i zachowań itp. To są rzeczy, których jeszcze nie widziałem w rozwoju iOS. (Może szukam w niewłaściwych miejscach)
Zdaję sobie sprawę, że Objective-C jest nadzbiorem C i dynamicznym/luźno napisanym językiem, który prawdopodobnie zmieni trochę grę, jeśli chodzi o dobre praktyki projektowe . Czy ktokolwiek może wskazać mi kierunki niektórych książek/blogów/innych, które pomogłyby mi dokonać tego mentalnego przeskoku z mocno napisanego, zarządzanego środowiska do tego nowego świata, jednocześnie zachowując moje projekty elastyczne i przestrzegając zasad SOLID?
EDYCJA - Chcę być tutaj przejrzysty. Nie pytam, jak nauczyć się struktury Cocoa i tajników Objective-C jako języka. Znalazłem mnóstwo zasobów na ten temat. Chciałbym przejść do następnego poziomu, zacząć robić TDD i upewnić się, że projekty, które buduję, będą łatwe do rozbudowy i konserwacji.
Niektórzy z nas dostali się do rozwoju iOS, aby uciec od wszystkich tych nonsensów. :) –
@robmayoff Tego typu rzeczy można na pewno przesadzić, ale "bzdura" jest trochę trudna. Zdecydowanie nie chcemy wracać do dni wstawionego SQL wszędzie, więc istnieje pewien balans, który mamy na uwadze. Zgodnie ze zrównoważonym podejściem, co robisz, aby poprawić swoje projekty w iOS? –
Myślę, że jak mówi Adam, powinieneś zacząć od spojrzenia na API Apple'a. Ich interfejsy API są proste, minimalne i bardzo spójne. Na przykład, aby reprezentować kolekcje, Cocoa ma trzy klasy - 'NSArray',' NSSet' i 'NSDictionary'. Porównaj to z tym, co Java i niektóre inne języki oferują jako część standardowych bibliotek. Sprawdź również rozmowy WWDC pt. "Pisanie łatwych do zmiany kodu" oraz "Projekt interfejsu API dla kakao i dotyku kakao" z 2011 i 2010 roku. – Anurag