Factory Pattern v Objective-C
Načrtovalski vzorci so za uvedbo tako programer operacijski sistem, pri pripravi vloge kode, kot tudi, da bi ga lažje. V tem položaju, bom predstavila svojo poenostavljeno različico standarda izvajanja Factory - Factory, na primer, cilj-C.
Factory.h
Uvoz #@ Vmesnik Factory: NSObject { NSMutableDictionary * spremenljivka; } + (Id) init; + (Ničen) setVar: (id) vari forKey: ključ; + (Id) Getvar: (id) ključ; + (Ničen) removeVar: (id) ključ; @ Konec
Factory.m
# Uvoz "Factory.h" Izvajanje @ Factory statična NSMutableDictionary * spremenljivka = nič; + (Id) init { if (spremenljivka) spremenljivka = [[NSMutableDictionary Pos] init]; vrnitev sebe; } + (Ničen) setVar: (id) vari forKey: (id) {ključ če ([spremenljivka objectForKey: (id) ključna]! = nič) [Self removeVar: (id) ključna]; [Variable setObject: (id) vari forKey: (id) ključna]; } + (Id) Getvar: (id) {ključ vrnitev [spremenljivka objectForKey: (id) ključna]; } + (Ničen) removeVar: (id) {ključ če ([spremenljivka objectForKey: (id) ključna]! = nič) { [Variable removeObjectForKey: (id) ključna]; } } @ Konec
Namestitev
- V nazwa_aplikacji_prefix.pch datoteke, ki je vključen na začetku vsake datoteke v uporabi kode, dodamo # uvoziti "Factory.h".
- Pri metodi (bool) aplikacije: (*) UIApplication uporabe didFinishLaunchingWithOptions: (*) NSDictionary launchOptions, dodamo na začetku [Factory init].
Kako uporabljati
- Dodajanje predmetov v tovarno po metodi [Factory setVar: (id) NaszObiekt forKey: @ "naszKlucz"];
- Naloži predmet iz tovarne po metodi [Factory Getvar: @ "naszKlucz"];
- Mi odstranite predmet iz registra z uporabo metode [Factory removeVar: @ "naszKlucz"];
Foto: Flickr
Sorodne vpisov
3 komentar / s
Hvala za vaše komentarje.
Če želite biti odkrit, to res ni knjiga približati zadevo, ampak to je moj razred, ki je za lažje komuniciranje predmetov na več pogledov hkrati. Želel sem zapustiti predvsem za ustvarjanje predmetov v tem razredu, ki je, kot pravilno stwierdziłeś dejansko izbruhnil osnovno načelo tega modela.
V zvezi s tehničnimi opombami, pa gotovo ne boli optimizacijo.
Lepo, da lahko računajo na povratne informacije od poljskih scenskih Cilj-C programerjev, ki so, žal, razmeroma malo pišejo v poljščini internetu.
Pišem malo, vendar v angleščini
Ampak dejstvo je, da v poljskem internetu je zelo malo o ObjC, zaradi dejstva, da ObjC programerji so na splošno zelo nizka v primerjavi s celo Ruby ali Python ...



















































Nekaj čudno, da si šel ven ... Ker je tovarna v standardni idejo Factory splošnem je, da razred (ali ščepec metoda), da ustvarite različne primere v razred na podlagi nekaj svoje notranje algoritem in po možnosti pod pogojem možnosti. Natančneje ustvarja primeri različnih podrazredov v skupnem razredu osnovne ali različnih razredov, ki uporabljajo skupni vmesnik.
Nahajate se tukaj ne ustvarja primerek sploh, samo metati stvari v hash, zato je bolj globalni register, in ne tovarna. Ne pravim, da ne bi bilo koristno, vendar je tovarna nima veze ...
Tudi tehnična navodila, onstran koncepta:
- Ni potrebe, da preveri, ali je ključ obstaja, preden ga izbrišete, saj to ne bo zgodilo nič
- Ni potrebe, da odstranite ključ preden se določi nova, saj je nadomestiti enako
- To lahko storite namesto init inicializacijo, potem bo razred, in poziva konstruktor avtomatsko