Video: Young Love: The Dean Gets Married / Jimmy and Janet Get Jobs / Maudine the Beauty Queen 2024
Designmønstre er formelle måter å dokumentere løsninger på designproblemer på; En av de vanligste mønstrene som brukes i Symbol-klassen er Singleton Pattern. Dette mønsteret brukes i iOS app utvikling og presenteres nedenfor i Tic-Tac-Toe applikasjonen.
Singleton-mønsteret brukes i Symbol-klassen, merk det tilpassede formatet til dette mønsteret i Tic-Tac-Toe-applikasjonen:
-
I stedet for den ene forekomsten som returneres av læreboken Singleton-mønsteret, tre tilfeller (en hver for symbolene X, O og blank) er tillatt i Symbol-klassen. Disse tilfellene styres av de tre statiske eller klassemetoder. En av disse metodene er vist her:
+ (TTTSymbol *) SymbolXCreate {@synchronized ([TTTSymbol klasse]) {if (SymbolX == nil) {SymbolX = [[TTTSymbol alloc] init]; SymbolX-> verdi = MARKX;} returnere SymbolX;}}
-
Teknikken som brukes i Singleton-mønsteret for å lage bare en forekomst, brukes i metoden getBitmapForSymbol for å få bildene for X, O og blank symboler: > - (UIImage *) getBitmapForSymbol {@synchronized ([TTTSymbol klasse]) {hvis (! BitMapsInitialized) {NSString * imagePath = [[NSBundle mainBundle] pathForResource: @ "Images. Bundle / x" ofType: @ "png"]; imageX = [[UIImage allokering] initWithContentsOfFile: imagePath]; imagePath = [[NSBundle mainBundle] pathForResource: @ "Images. bundle / o" ofType: @ "png"]; imageO = [[UIImage alloc] initWithContentsOfFile: imagePath]; imagePath = [[NSBundle mainBundle] pathForResource: @ "Images. bundle / blank" ofType: @ "png"]; imageBlank = [[UIImage allokering] initWithContentsOfFile: imagePath]; bitMapsInitialized = true;}} UIImage * imageSelected = imageBlank; hvis (selv == [TTTSymbol SymbolXCreate]) imageSelected = imageX; ellers hvis (selv == [TTTSymbol SymbolOCreate]) imageSelected = imageO; returnere imageSelected;}
Fordi iOS-apper kan bli multithreaded, er Singleton endret for å håndtere flere tråder ved å bruke @synchronized annotation.
-