Zināšanu bāze

Izstrādātāja ikdienas (Objekta izveide pēc pieprasījuma, optimizēšana C#)

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
Filed under: , ,

Comments

Doughboy wrote re: Izstrādātāja ikdienas (Objekta izveide pēc pieprasījuma, optimizēšana C#)
on 07-14-2011 16:00

I'll try to put this to good use immeidtaely.

Carli wrote re: Izstrādātāja ikdienas (Objekta izveide pēc pieprasījuma, optimizēšana C#)
on 07-15-2011 17:49

So excited I found this article as it made things much quciker!

google+ circles wrote re: Izstrādātāja ikdienas (Objekta izveide pēc pieprasījuma, optimizēšana C#)
on 03-23-2012 2:50

q1IxO8 Great, thanks for sharing this post. Really Cool.

cheap oem software wrote re: Izstrādātāja ikdienas (Objekta izveide pēc pieprasījuma, optimizēšana C#)
on 05-03-2012 13:28

1Gdjzc Fantastic blog post.Really looking forward to read more.

amazing services wrote re: Izstrādātāja ikdienas (Objekta izveide pēc pieprasījuma, optimizēšana C#)
on 08-08-2012 15:04

1JnpCt Thanks a lot for the article.Really thank you! Much obliged.

cheap seo services wrote re: Izstrādātāja ikdienas (Objekta izveide pēc pieprasījuma, optimizēšana C#)
on 09-09-2012 15:03

6smq2W I really like and appreciate your blog.Really thank you! Much obliged.

cheap bookmarking service wrote re: Izstrādātāja ikdienas (Objekta izveide pēc pieprasījuma, optimizēšana C#)
on 10-08-2012 12:32

N4VfP3 Hey, thanks for the blog article.Really looking forward to read more. Cool.

crork wrote re: Izstrādātāja ikdienas (Objekta izveide pēc pieprasījuma, optimizēšana C#)
on 11-08-2012 6:56

BGaMq5 Say, you got a nice blog post.Really looking forward to read more. Really Cool.

Social Bookmarking Service wrote re: Izstrādātāja ikdienas (Objekta izveide pēc pieprasījuma, optimizēšana C#)
on 11-28-2012 22:46

7epWKa Hey, thanks for the article post.Much thanks again. Much obliged.

archeage power leveling wrote re: Izstrādātāja ikdienas (Objekta izveide pēc pieprasījuma, optimizēšana C#)
on 02-27-2013 7:25

Peculiar article, totally what I needed. archeage power leveling www.cheap-archeage-gold.com/archeage-power-leveling.html

buy social bookmarks wrote re: Izstrādātāja ikdienas (Objekta izveide pēc pieprasījuma, optimizēšana C#)
on 03-25-2013 7:55

DS0Sd3 Thanks so much for the post.Really looking forward to read more. Much obliged.

coachoutletonline77.com wrote re: Izstrādātāja ikdienas (Objekta izveide pēc pieprasījuma, optimizēšana C#)
on 04-07-2013 5:38

Adoration is a established consideration for a lifestyle additionally , the increase of what a number of us passion.

Add a Comment

(obligāts)  
(brīvizvēles)
(obligāts)  
Remember Me?