JavaRush /Java блогы /Random-KK /«Бірінші дизайн үлгілері» кітабына шолу
Alex
Деңгей

«Бірінші дизайн үлгілері» кітабына шолу

Топта жарияланған
Ең болмағанда Head First сериясымен таныс адамдар арасында мұндай әдебиеттерді жаңадан бастағандар үшін өте үстірт оқу деп санайтындар көп. Не айтамын, бағдарламалау саласындағы күрделі тақырыпты 48 сағатта терең меңгеру мүмкін емес. Дегенмен, Дизайн үлгілері жаңадан бастағандар үшін бағдарламалаудың пайдалы нұсқаулығы болатын кітап екеніне дау айту қиын. Бұл кітап Stackoverflow сайтындағы ең танымал он кітаптың бірі және жақсы себеппен. Тұсаукесердің қарапайымдылығы, іргелі тақырыбы және жоғары сапалы мысалдары кітапты қазір және, менің ойымша, көп жылдар бойы танымал етеді. «Бірінші дизайн үлгілері» кітабына шолу - 1

Кітаптың ерекшеліктері

Бірінші дизайн үлгілері бізге қандай үлгілер екенін, оларды қалай пайдалану керектігін және олар туралы қалай ойлау керектігін айтады. Үлгі – шаблон, есептердің белгілі бір жиынтығының әмбебап шешімі. Дизайн үлгілері , өз кезегінде, пайдаланушыға ыңғайлы және икемді қосымшаларды жазу үшін пайдаланылуы мүмкін жиі қолданылатын архитектуралық шешімдер болып табылады. Дүние жүзіндегі әзірлеушілер бірдей тәсілдермен бірдей мәселелерді шешеді. Аннотацияда айтылғандай, дөңгелекті қайта ойлап тапқыңыз келмесе, осы кітаппен жұмыс істеуге арналған дайын дизайн үлгілерін (үлгілерді) пайдаланыңыз . Материалдың тұсаукесерін бөлек атап өткен жөн: Head First сериясындағы кітаптар қарапайымдылығымен танымал және бір отырыста оқылады. «Дизайн үлгілері» де ерекшелік емес. Ол сондай-ақ келесі негізгі принциптерді ұстанады:
  1. Көріну
  2. Презентацияның әңгімелесу стилі
  3. Иллюстрациялардың үлкен саны
  4. Оқырмандардың белсенді қатысуы
  5. Эмоцияларға жүгіну
  6. Оқырман назарын аудару
Кітап авторлары материалды баяндау үшін метатаным теориясын сауатты пайдаланады: мен үшін алғашқы 100 бет байқамай өтті. Бұл тәсілдің сұлулығы мидың оқығанын есте сақтауында. Бірнеше баяндау стильдерінің, қызықты сұрақтардың, артықшылық пен шығармашылықтың үйлесімі - мұның бәрі оқырманның негізгі тақырыпқа деген қызығушылығын жоғалтпауға көмектеседі. Кітапты сатып алмас бұрын, аралас пікірлерді оқығаннан кейін мен екіталай болдым. Дегенмен, осы тақырып бойынша бірнеше басқа дереккөздерді жылдам қарап шыққаннан кейін мен шешім қабылдадым: үлгілерге сүңгу үшін, бұл кітап сізге қажет нәрсе.

Негізгі тақырып және түйінді ой

«Әрине, біреу сіздің мәселеңізді шешіп қойған» - бағдарламалаудағы дизайн үлгілерінің барлық мағынасын беретін кітаптың бірінші тарауы осылай басталады. Басты мақсат – олардың мағынасын оқырманға дұрыс жеткізу, өйткені ең алдымен бағдарламашы үлгілердің не үшін екенін және оларды қай кезде қолдану керектігін білуі керек. Негізінде, сіз алдымен шаблондарды басыңыздағы кішкене бөліктерге сұрыптауыңыз керек, содан кейін ғана оларды бағдарламаларға енгізіңіз. Егер бағдарламалауды бастаушы үлгілерді жақсы түсінсе, оларды пайдалану codeты айтарлықтай қиындатады (бірақ оны жеңілдету керек!). «Неліктен дизайн үлгілерін пайдалану керек?» Деген сұраққа Кітап нақты жауап береді: «Абстракция, мұрагерлік және полиморфизм сияқты ұғымдарды білу сізді жақсы OO дизайнері етпейді. Үлгілерде дәлелденген OO дизайн тәжірибесі бар.

«Қорытынды»

Кітап 14 тараудан және кіріспеден тұрады. Бастапқыда кітап авторлары оқырманды өрнек дизайны туралы ақпаратты дұрыс қабылдау үшін оның миын баптауға дайындауға тырысады. Бірінші тарауда үлгілердің негізгі принципі және олар қандай мақсаттарға қызмет ететінін түсіндіреді. Ең көп қолданылатын үлгілердің бірі - стратегия - оңай және оңай зерттеледі. Екі-он бірінші тараулар жеке үлгілерді егжей-тегжейлі талдауға арналған :
  1. Бақылаушы. Оқиғаларды олардың пайда болуына қызығушылық танытатын нысандарға таратады.
  2. Декоратор. Java тіліндегі мұраға тағы бір көзқарас және Java сыныптарына codeты өзгертпестен жаңа мүмкіндіктер беру.
  3. Зауыт. Үлгі codeты қажетсіз тәуелділіктен сақтайды.
  4. Бойдақ. Singleton ретінде де белгілі, ол бүкіл бағдарлама үшін бір сынып an objectісін жасауға мүмкіндік береді.
  5. Команда. Үлгі оның мүмкіндіктерін кеңейте отырып, әдіс шақыруын ыңғайлы инкапсуляциялауға мүмкіндік береді.
  6. Адаптер және қасбет. Интерфейстің үйлесімсіздігі мәселесін шешу, сонымен қатар олардың интерфейсін жеңілдету үшін an objectілерді орау.
  7. Үлгі әдісі. Алгоритмдік блоктарды инкапсуляциялау, ішкі сыныптарға кез келген уақытта қажетті өңдеу алгоритмімен байланысуға мүмкіндік береді.
  8. Итератор және байланыстырушы. Үлгі олардың түріне қарамастан жинақтар арқылы қайталау үшін ыңғайлы құралды қамтамасыз етеді. Сонымен қатар, тарауда супержинақтар туралы кейбір ақпарат берілген.
  9. Мемлекет. Объектілерге ішкі күйінің өзгеруі арқылы олардың мінез-құлқын басқару мүмкіндігі беріледі.
  10. орынбасары. Нысанға қол жеткізуді басқаруға арналған өте ыңғайлы үлгі.
12-тарауда қуатты бағдарламалық жасақтама архитектурасын құру үшін пайдалануға болатын құрама үлгілер, дәлірек айтқанда, талқыланған кейбір үлгілердің комбинациясы қарастырылады. 13-тарау нақты есептердегі өрнектерді қолдануға арналған, өрнектердің классификациясы, олардың сорттары мен қолдану бойынша нұсқаулар берілген. Кітап үлгілердің кең ауқымын қамтитын 14-тарауға қосымша ретінде қызмет етеді. Олардың әрқайсысы өзінше пайдалы, сондықтан оларды білу қажет емес. Әрине, олар 2-11 тараулардағы үлгілер сияқты танымал емес, бірақ бұл олардың пайдалылығын төмендетпейді. Кітап үлгі теориясының академиялық тұрғыдан дәл көрсетілімі болып көрінбейді. Бірақ егер Head First кітаптары соншалықты мұқият болса, ұмтылушы әзірлеушілердің не екенін анықтауға және негіздерін өздері түсіндіруге мүмкіндігі болмайды. Бұл олармен таныс емес адамдар үшін дизайн үлгілері қандай екенін білудің қарапайым және ыңғайлы жолы. Authorлардың айтуынша, Design Patterns - бұл Java (немесе C#) тілін бұрыннан білетін, an objectілі-бағытталған дизайн принциптерін үйренгісі келетін және қызық лекциялардан гөрі жанды әңгімені ұнататындарға арналған кітап. Бұл кітап анықтамалық емес! Егер сіз тәжірибесі бар кәсіби әзірлеуші ​​болсаңыз және осы үлгілердің кем дегенде бір бөлігімен жұмыс істесеңіз, кітап сізді қызықтыруы екіталай. Кітаптың маңызды құрамдас бөлігі жаттығулар болып табылады: оларды өткізіп жіберуге болмайды. Егер сіз кітапты мұқият оқып шықсаңыз және төтенше жағдайларда Интернетте минималды іздеу жасасаңыз, оларды шешу сізге бас ауыртпайды. Бірақ пайдасы міндетті түрде болады. Кем дегенде, сіз кітапта ұсынылған теорияны тереңірек түсінесіз.

Артылықшылықтар мен кемшіліктер

Мен JavaRush-те оқитын көптеген адамдар сияқты қызықсыз лекцияларға, материалды толтыруға және білімге шөлдеген студенттің психикасына қарсы басқа да зорлық-зомбылыққа салқын қараймын. Түсінбейтін мәтіндерді жаттауға жұмсалатын күш, менің ойымша, оқудың баламалы көздерін табуға жұмсалады. Бұл кітап уақыт пен күш жұмсауға тұрарлық кітап. Тамаша презентация стилі, оқырман назарын сауатты басқару және негізгі ойларды қайталау бұл кітаптың басты артықшылығы - материалды игерудің қарапайымдылығын құрайды . Суреттердің көптігі қосымша плюс. Менің ойымша, кітаптағы әрбір суреттің өз орны бар: олардың барлығы авторлардың сөздерін күшейтуге және материалдың мәнін тереңірек түсінуге мүмкіндік береді. Жоғарыда жазғанымдай, бұл кітап анықтамалық емес: оның авторлары барлық үлгілерді тізбелеуді көздемейді. Оның негізгі міндеті - негізгі үлгілерді түсінуді қамтамасыз ету және басқа, күрделірек түсіну оңай болуы үшін. Және ол мұны 100% жеңеді. Кемшіліктердің қатарында Head first дизайн үлгілерін орыс тіліндегі ағылшын тіліндегідей оқу оңай емес. Әрине, әрбір әзірлеуші ​​ағылшын тілін білуі керек, бірақ жаңадан келген бағдарламашылар бұл дағдыны кітаптарды түпнұсқада оқи алатындай дәрежеде дамыта бермейді. Дегенмен, мұны мәжбүрлі минус деп санауға болады, өйткені материал өте дәл берілген және мағынасы сақталған.

Дизайн үлгілері бойынша қосымша кітаптар

Мен іргелі тақырыптарды бірнеше көздерден зерттеп, олардан сәйкес презентация стилін іздеген дұрыс деген сенімнің жақтаушысымын. Сіз үлгілерге сүңгіп, қосымша теорияны оқығыңыз келсе, маған сеніңіз, сізде кештеріңізді алатын нәрсе болады.
  1. Объектіге бағытталған жобалау әдістері. Дизайн үлгілері (Гамма Э., Хельм Р., Джонсон Р., Влиссидс Дж.).

    «Дизайн үлгілері» (Head First Design Patterns) кітабына шолу - 2

    Бұл неғұрлым маңызды басылым, үлгілердің анықтамалығы, «Төрттік банданың» өте құрметті кітабы. Көптеген адамдар оны OO дизайнының Киелі кітабы деп атайды.

    Интернетте әзірлеушілердің пікірлері 3 лагерьге бөлінеді:

    • Кейбіреулер бұл кітаптың ескіргенін және оның берілу стилі оқуды мүмкін емес деп санайды
    • басқалары кітапты тек үлгілер туралы анықтамалық ретінде пайдалануды ұсынады, басқа ештеңе жоқ
    • басқалары бұл кітап дизайн үлгілерінің қасиетті түйіні және оны бір күні Java аға әзірлеушісі болғысы келетін кез келген адам оқуы керек дейді.
    Мен екінші топтағы адаммын: кітап шынымен де лайықты деп ойлаймын, бірақ оны қандай да бір ақпарат іздеу мақсатында емес, дамыту үшін оқу өте қиын.

    Маңызды:Кітаптағы мысалдар C++ тілінде жазылған.

  2. Java EE. Кәсіби мамандарға арналған дизайн үлгілері (Мурат Йенер, Алекс Фидом).

    «Дизайн үлгілері» (Head First Design Patterns) кітабына шолу - 3

    Бұл кітап Кәсіпорын қолданбаларының дизайнына арналған: ол нақты өмірдегі қолданбалы мәселелердің көптеген мысалдарын қамтиды.

  3. Java тіліндегі дизайн үлгілері (Grand M.).

    «Дизайн үлгілері» (Head First Design Patterns) кітабына шолу - 4

    Кітап үлгілерді пайдалану әзірлеушілердің уақытын қалай үнемдейтінін, UML тіліне шолуды қамтамасыз ететінін және 47 дизайн үлгісін сипаттайтынын түрлі-түсті түрде көрсетеді.

JavaRush бағдарламасындағы дизайн үлгілері

JavaRush курсында дизайн үлгілері Java Collections квестінің 7 деңгейінде үйренеді. 1 және 2 дәрістер ең көп тараған заңдылықтарға арналған, ал 4- дәрісте осы тақырып бойынша есептерді шығаруға болады. Төменде «өзіңізді нығайту» үшін бірнеше қызықты мақалалар берілген:
  1. Санаттар, мысалдар, бізге ұнайтын барлық үлгілер тақырыбына арналған жалпы мақала .

  2. Үлгілер туралы екі мақала: 1-бөлім шолу және толығырақ 2-бөлім .

  3. Үлгі ретінде Singleton үлгісін пайдаланып үлгілерді құрастырыңыз .

  4. « Стратегия » және « Адаптер » үлгілері туралы мақалалар.

  5. Дизайн үлгілерінің тұжырымдамасы UML диаграммаларына қатысты, бұл мақала олардың не екенін түсінуге көмектеседі.

Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION