Sveiki,
Šoreiz mazliet par koda optimizāciju, tiem no jums, kas strādā pie relatīvi lieliem projektiem labi atpazīs zemāk redzamo kodu:
public class Controller
{
}
public class View
{
private Controller controller;
public Controller Controller
{
get
{
if (controller == null)
{
controller = new Controller();
}
return controller;
}
}
}
Paskaidrošu, piemērā ir divas klases Controller un View. Objektam View ir norāde uz objektu Controller. Controller objekts tiek veidot brīdī, kad tas tiek reāli izmantots. Kā redzam, tad ir visai daudz koda, lai veiktu šo te inicializāciju. Daži no jums neticēs, bet arī tik īsā kodā cilvēki pamanās pielaist kļūdas. Viens no variantiem, kā šo kodu mazliet pārveidot, uzrakstot pārbaudi vienā rindā.
public class Controller
{
}
public class View
{
private Controller controller;
public Controller Controller
{
get
{
return controller ?? (controller = new Controller());
}
}
}
Interesanti, vai nākotnē būs pieejama kāda valodas konstrukcija, kas atvieglos šo te procesu? Jo arī šādā izpildījumā kods slēpj sevi draudus, jo netikām vaļā no globālās mainīgās controller.
Cerams ka noderēs!
Posted
Mar 17 2010, 08:33 PM
by
andrejs.mamontovs