Nima uchun Design Patterns haqida o'rganish kerak?
JavaHere(Javokhir Akramjonov)Design Patterns bu ko'p joylarda uchraydigan muammolar uchun ko'plab yechimlar orasidan ma'lum bir sifatlariga qarab saralanib olingan eng yaxshi yechimlar hisoblanadi.
Sizda savol bo'lishi mumkin, "Buni hamma biladiku, nima keragi bor alohida nomlar berib chiqib, dars sifatida o'tishni?".

Javob:

1. Masalan interview da o'tiribsiz. Interview olayotgan odam sizga "Singleton Pattern" haqida bilimingiz bor yo'qligini tekshirmoqchi. Shunda sizdan nima deb so'raydi? "Ba'zida bir class ning faqat bir dona obyekti bo'lishini xohlaymiz shunda qanday yechim qilgan bo'larding?" dedi. Siz birgina "Buni Singleton Design Pattern orqali hal qilsak bo'ladi..." deyish orqali design patternlar haqida bilimingiz borligini bildirishingiz mumkin va shu bilan birgalikda bu sizni design patternlar haqida o'rganganingizni ko'rsatadi (Ya'ni birgina Singleton emas boshqalaridan habari bor bo'lsa kerak degan fikrga olib keladi).

2. Siz ishxonadasiz va sizdan bir hamkasbingiz kelib shunday so'radi. "Bir muammo bor edi, bir class ning har doim bir obyekti bo'lishi kerak, threadSafe bo'lishi kerak...". Agar siz bu muammo faqat unda emas, ko'p joylarda uchragan muammo ekanligini bilsangiz birgina "Singleton Design Pattern haqida o'rgan" deysiz va barchasi tamom. Butun process haqida gapirib berib o'zingizni ham vaqtingizni olmaysiz va yana bir qancha yaxshi tarfalari bor.

3. Bu nomlarni yaxshi bilish ko'pchilik bir-birini ishini tushunib ishlashidan mazza qilib ishlashga ham olib keladi. Kod yozib tepasiga documentation sifatida "Builder Design Pattern" deb qo'ysangiz nima ish qilganingiz haqid juda ko'p narsa yozib ham o'tirmaysiz. Chunki buni o'qigan odam bu design pattern qanday ishlashini bilsa sizni kodingizni o'qishi, tushunishi va davom ettirib ketishi juda osson bo'ladi.
4, 5, 6 ... deb sanab ketish oson.
Nomlarni yaxshilab o'rganish uchun shunchaki kamida har biriga 2 tadan misol yozib ko'ring. Shunchaki "Wow zo'r ekan-a 😃" deb ketishdan bir tiyin ham foyda yo'q.
Ps: Men ham bu design patternlarni o'qib chiqqanman. Lekin ko'plarining nomlari va bazilarini ishlashi afsuski esimdan chiqib ketdi. Shuning uchun har biriga example ko'rib boshqatdan bu kitobni o'qib chiqishga qaror qildim.
"QILINGAN XATOLARNI TAKRORLAMANG".
Shu example larni shunchaki kompyuterimdan ko'rib ketgandan ko'ra sizlarga ham ulashay dedim.
