Kitabın xüsusiyyətləri
Baş ilk dizayn nümunələri bizə naxışların nə olduğunu, onlardan necə istifadə etməyi və onlar haqqında necə düşünməyimizi izah edir. Nümunə bir şablondur, müəyyən bir problem toplusu üçün universal bir həlldir. Dizayn nümunələri , öz növbəsində, istifadəçi dostu və çevik proqramlar yazmaq üçün istifadə edilə bilən ümumi istifadə olunan memarlıq həlləridir. Bütün dünyada tərtibatçılar eyni problemləri eyni yanaşmalarla həll edirlər. Annotasiyada deyildiyi kimi, təkəri yenidən kəşf etmək istəmirsinizsə, bu kitabın işləməyə həsr olunmuş hazır dizayn şablonlarından (naxışlardan) istifadə edin . Materialın təqdimatını ayrıca qeyd etmək lazımdır: Head First seriyasındakı kitablar sadəliyi ilə məşhurdur və bir oturuşda oxunur. “Dizayn nümunələri” də istisna deyil. O, həmçinin aşağıdakı əsas prinsiplərə əməl edir:- Görünüş
- Təqdimatın danışıq tərzi
- Çox sayda illüstrasiyalar
- Aktiv oxucu iştirakı
- Duyğulara müraciət edin
- Oxucunun diqqətini cəlb etmək
Əsas mövzu və əsas ideya
"Şübhəsiz ki, kimsə artıq probleminizi həll etdi" - proqramlaşdırmada dizayn nümunələrinin bütün mənasını çatdıran kitabın birinci fəsli belə başlayır. Əsas məqsəd onların mənasını oxucuya düzgün çatdırmaqdır, çünki ilk növbədə proqramçı nümunələrin nə üçün olduğunu və hansı məqamda tətbiq edilməli olduğunu bilməlidir. Əsasən, əvvəlcə şablonları başınızda kiçik parçalara ayırmalı və yalnız bundan sonra onları proqramlara tətbiq etməlisiniz. Proqramlaşdırmaya yeni başlayan şəxs nümunələri yaxşı başa düşürsə, onların istifadəsi kodu xeyli çətinləşdirə bilər (lakin onu sadələşdirməlidir!). “Niyə dizayn nümunələrindən istifadə edilməlidir?” sualına Kitab aydın cavab verir: “Astraksiya, irsiyyət və polimorfizm kimi anlayışları bilmək sizi yaxşı OO dizayneri etmir. Nümunələr sübut edilmiş OO dizayn təcrübəsini ehtiva edir.""Xülasə"
Kitab 14 fəsildən və bir girişdən ibarətdir. Kitabın müəllifləri əvvəlcə oxucunu hazırlamağa, onun beynini naxış dizaynı haqqında məlumatı düzgün qəbul etməyə kökləməyə çalışırlar. Birinci fəsildə nümunələrin əsas prinsipi və onların hansı məqsədlərə xidmət etdiyi izah edilir. Ən çox istifadə edilən nümunələrdən biri - strategiya - asanlıqla və diqqəti cəlb etmədən araşdırılır. İkinci-on birinci fəsillər fərdi nümunələrin ətraflı təhlilinə həsr edilmişdir :- Müşahidəçi. Hadisələri onların baş verməsi ilə maraqlanan obyektlər arasında paylayır.
- Dekorator. Java-da varisliyə başqa bir baxış və kodu dəyişdirmədən Java siniflərinə yeni imkanlar verilməsi.
- Zavod. Nümunə kodu arzuolunmaz asılılıqlardan xilas edir.
- subay. Singleton kimi də tanınır, o, bütün proqram üçün vahid sinif obyekti yaratmağa imkan verir.
- Komanda. Nümunə, onun imkanlarını genişləndirərək, metod çağırışını rahat şəkildə əhatə etməyə imkan verir.
- Adapter və Fasad. İnterfeys uyğunsuzluğu probleminin həlli, həmçinin onların interfeysini sadələşdirmək üçün obyektlərin qablaşdırılması.
- Şablon metodu. Alt siniflərə istənilən vaxt istənilən emal alqoritmi ilə əlaqə yaratmağa imkan verən alqoritmik blokların inkapsulyasiyası.
- İterator və Bağlayıcı. Nümunə növündən asılı olmayaraq kolleksiyalar arasında təkrarlamaq üçün rahat alət təqdim edir. Bundan əlavə, fəsildə superkolleksiyalar haqqında bəzi məlumatlar verilir.
- dövlət. Obyektlər daxili vəziyyətindəki dəyişikliklərlə davranışlarını idarə etmək qabiliyyətinə malikdir.
- müavini. Bir obyektə girişi idarə etmək üçün çox rahat nümunə.
Yaxşı və pis tərəfləri
JavaRush-da oxuyanların çoxu kimi, mən də biliyə susamış tələbənin psixikasına qarşı darıxdırıcı mühazirələr, sıxıcı materiallar və digər zorakılıqlara soyuq münasibət bəsləyirəm. Anlaşılmaz mətnləri əzbərləməyə sərf olunan enerji, məncə, ən yaxşı şəkildə alternativ öyrənmə mənbələrinin tapılmasına sərf olunur. Bu kitab sizin vaxtınıza və səyinizə dəyər. Mükəmməl təqdimat tərzi, oxucunun diqqətinin səriştəli idarə olunması və əsas məqamların təkrarlanması bu kitabın əsas üstünlüyü - materialın mənimsənilməsinin asanlığıdır . Çox sayda illüstrasiya əlavə bir artıdır. Məncə, kitabdakı hər bir şəklin öz yeri var: onların hamısı müəlliflərin sözlərini gücləndirməyə və materialın mahiyyətini daha dərindən dərk etməyə imkan verir. Yuxarıda yazdığım kimi, bu kitab istinad kitabı deyil: onun müəllifləri bütün nümunələri sadalamaq fikrində deyillər. Onun əsas vəzifəsi digər, daha mürəkkəb olanları daha asan qavramaq üçün əsas nümunələri başa düşmək və danışmaqdır. Və o, bunun öhdəsindən 100% gəlir. Dezavantajlar arasında rus dilində Head first dizayn nümunələrinin ingilis dilində olduğu kimi oxumaq asan olmamasıdır. Əlbəttə ki, hər bir tərtibatçı ingilis dilində danışmalıdır, lakin təcrübəsiz proqramçılar bu bacarığı həmişə kitabları orijinalda oxuya biləcək dərəcədə inkişaf etdirmirlər. Bununla belə, bu, məcburi bir mənfi hesab edilə bilər, çünki material olduqca dəqiq təqdim olunur və məna qorunur.Dizayn nümunələri üzrə əlavə kitablar
Mən fundamental mövzuları bir neçə mənbədən öyrənmək və onlara uyğun təqdimat tərzi axtarmaq daha yaxşı olduğu inancının tərəfdarıyam. Nümunələrə dalmaq və əlavə nəzəriyyə oxumaq istəyəndə, inanın ki, axşamlarınızı məşğul edəcək bir şeyiniz olacaq.-
Obyekt yönümlü dizayn texnikaları. Dizayn nümunələri (Gamma E., Helm R., Johnson R., Vlissides J.).
Bu daha ciddi bir nəşrdir, naxışlar haqqında məlumat kitabı, "Dördlər dəstəsi" nin çox hörmətli bir kitabıdır. Çoxları bunu OO dizaynının İncili adlandırır.
İnternetdə tərtibatçıların fikirləri 3 düşərgəyə bölünür:
- bəziləri kitabın köhnəldiyini və təqdimat tərzinin oxumağı mümkünsüz etdiyini iddia edirlər
- digərləri kitabdan yalnız naxışlar üzrə istinad kitabı kimi istifadə etməyi məsləhət görür, başqa heç nə
- digərləri deyirlər ki, kitab dizayn nümunələrinin müqəddəs zirzəmisidir və bir gün Baş Java Developeri olmaq istəyən hər kəs tərəfindən oxunmalıdır.
Əhəmiyyətli:Kitabdakı nümunələr C++ dilində yazılmışdır.
-
Java EE. Peşəkarlar üçün dizayn nümunələri (Murat Yener, Alex Fidom).
Bu kitab Müəssisə proqramlarının dizaynına həsr olunub: o, real həyatda tətbiqi problemlərin bir çox nümunələrini əhatə edir.
-
Java-da dizayn nümunələri (Grand M.).
Kitab naxışlardan istifadənin tərtibatçıların vaxtına necə qənaət etdiyini, UML dilinin icmalını təqdim etdiyini və 47 dizayn nümunəsini təsvir etdiyini rəngarəng şəkildə nümayiş etdirir.
JavaRush-da Dizayn Nümunələri
JavaRush kursunda dizayn nümunələri Java Collections axtarışının 7-ci səviyyəsində öyrənilir. 1 və 2-ci mühazirələr ən çox yayılmış nümunələrə həsr olunub və 4-cü mühazirədə siz bu mövzuda problemləri həll edə bilərsiniz. Aşağıda "özünüzü gücləndirmək" üçün bir neçə maraqlı məqalə var:-
Kateqoriyalar, nümunələr, bəyəndiyimiz hər şey ilə nümunələr mövzusunda ümumi bir məqalə .
-
Nümunələr haqqında iki məqalə: 1-ci hissənin icmalı və daha ətraflı 2-ci hissə .
-
Nümunə olaraq Singleton naxışından istifadə edərək naxışlar dizayn edin .
-
“ Strategiya ” və “ Adapter ” nümunələri haqqında məqalələr.
-
Dizayn nümunələri anlayışı UML diaqramları ilə bağlıdır, bu məqalə onların nə olduğunu başa düşməyə kömək edəcəkdir.
GO TO FULL VERSION