JavaRush /Блоги Java /Random-TG /Баррасии китоби "Намудҳои тарроҳии сар"
Alex
Сатҳи

Баррасии китоби "Намудҳои тарроҳии сар"

Дар гурӯҳ нашр шудааст
Дар байни одамоне, ки ҳадди аққал бо силсилаи Head First ошно ҳастанд, бисёриҳо ҳастанд, ки чунин адабиётро барои шурӯъкунандагон хониши рӯякӣ медонанд. Чӣ гуфтан мумкин аст, ки шумо дар тӯли 48 соат як мавзӯи мураккабро дар соҳаи барномасозӣ амиқ омӯзед. Бо вуҷуди ин, баҳс кардан душвор аст, ки Намунаҳои Design китобест, ки дастури муфид барои барномасозӣ барои шурӯъкунандагон хоҳад буд. Ин китоб яке аз даҳ китобҳои маъмултарин дар Stackoverflow аст ва бо сабаби хуб. Осонии муаррифӣ, мавзӯи бунёдӣ ва мисолҳои баландсифат китобро ҳоло ва ба назари ман, солҳои тӯлонӣ машҳур мекунад. Баррасии китоби «Намудҳои тарҳрезии сар» - 1

Хусусиятҳои китоб

Намунаҳои тарроҳии аввал ба мо нақл мекунанд, ки чӣ гуна намунаҳо, чӣ гуна истифода бурдани онҳо ва чӣ гуна дар бораи онҳо фикр кардан лозим аст. Намуна як қолаб, ҳалли универсалӣ барои маҷмӯи мушаххаси мушкилот аст. Намунаҳои тарроҳӣ , дар навбати худ, қарорҳои маъмулан истифодашавандаи меъморӣ мебошанд, ки метавонанд барои навиштани замимаҳои барои корбар дӯстона ва чандир истифода шаванд. Таҳиягарон дар тамоми ҷаҳон як мушкилотро бо ҳамон равишҳо ҳал мекунанд. Тавре ки дар шарҳ гуфта шудааст, агар шумо чархро аз нав ихтироъ кардан нахоҳед, аз қолабҳои тарроҳии тайёр (намунаҳо) истифода баред, ки ин китоб барои кор бо онҳо бахшида шудааст . Алоҳида, пешниҳоди маводро қайд кардан лозим аст: китобҳои силсилаи Сарвари аввал бо соддагии худ машҳуранд ва дар як нишаст хонда мешаванд. "Намудҳои тарроҳӣ" истисно нест. Он инчунин ба принсипҳои асосии зерин риоя мекунад:
  1. Намоиш
  2. Услуби гуфтугӯии муаррифӣ
  3. Шумораи зиёди тасвирҳо
  4. Иштироки фаъоли хонандагон
  5. Муроҷиат ба эҳсосот
  6. Диққати хонандаро ба худ ҷалб мекунад
Муаллифони китоб барои пешниҳоди мавод назарияи метакогнитацияро моҳирона истифода мебаранд: барои ман 100 саҳифаи аввал бехабар парвоз мекарданд. Зебоии ин равиш дар он аст, ки майна он чизеро, ки мехонад, воқеан ба ёд меорад. Омезиши якчанд услубҳои нақлӣ, саволҳои ҷолиб, зиёдатӣ ва эҷодкорӣ - ҳамаи ин ба хонанда кӯмак мекунад, ки таваҷҷӯҳи худро ба мавзӯи асосӣ аз даст надиҳад. Пеш аз харидани китоб, ман пас аз хондани баррасиҳои омехта дудила будам. Бо вуҷуди ин, пас аз азназаргузаронии зуд аз якчанд сарчашмаҳои дигар дар ин мавзӯъ, ман қарор додам: ба намунаҳо ғарқ шавед, ин китоб ба шумо лозим аст.

Мавзӯи асосӣ ва идеяи асосӣ

"Албатта касе мушкилоти шуморо ҳал кардааст" - ҳамин тавр боби аввали китоб оғоз мешавад, ки маънои тамоми тарҳҳои тарҳрезиро дар барномасозӣ баён мекунад. Ҳадафи асосӣ ин аст, ки маънои онҳо ба хонанда дуруст расонида шавад, зеро пеш аз ҳама, барномасоз бояд донад, ки намунаҳо барои чӣ ҳастанд ва дар кадом лаҳза онҳоро татбиқ кардан лозим аст. Аслан, шумо бояд аввал қолабҳоро ба қисмҳои хурд дар сари худ ҷудо кунед ва танҳо пас аз он онҳоро дар барномаҳо амалӣ кунед. Агар шурӯъкунанда дар барномасозӣ намунаҳоро хуб фаҳмад, истифодаи онҳо метавонад codeро хеле душвор гардонад (вале онро бояд содда кунад!). Ба саволи "Чаро бояд намунаҳои тарҳрезӣ истифода шаванд?" Китоб ҷавоби равшан медиҳад: «Донистани мафҳумҳо ба монанди абстраксия, мерос ва полиморфизм шуморо дизайнери хуби OO намегардонад. Намунаҳо дорои таҷрибаи собитшудаи тарроҳии OO мебошанд. ”

"Хулосаи"

Китоб аз 14 боб ва муқаддима иборат аст. Дар ибтидо муаллифони китоб мекӯшанд, ки хонандаро омода созанд, майнаи ӯро барои дуруст дарк кардани маълумот дар бораи тарҳрезии намуна омода созанд. Боби якум принсипи асосии намунаҳоро шарҳ медиҳад ва онҳо ба кадом мақсадҳо хизмат мекунанд. Яке аз намунаҳои аз ҳама истифодашаванда - стратегия - ба осонӣ ва ба таври назаррас тафтиш карда мешавад. Бобҳои аз ду то ёздаҳ ба таҳлor муфассали намунаҳои инфиродӣ бахшида шудаанд :
  1. Нозир. Ҳодисаҳоро дар байни an objectҳое тақсим мекунад, ки ба пайдоиши онҳо таваҷҷӯҳ доранд.
  2. Ороишгар. Боз як назар ба мерос дар Java ва додани имкониятҳои нав ба синфҳои Java бидуни тағир додани code.
  3. Завод. Намуна рамзро аз вобастагии номатлуб наҷот медиҳад.
  4. Муҷаррад. Он инчунин бо номи Singleton маълум аст, он ба шумо имкон медиҳад, ки барои тамоми барнома як an objectи синфи ягона эҷод кунед.
  5. Дастаи. Намуна ба шумо имкон медиҳад, ки занги методиро ба таври қулай фаро гирифта, имкониятҳои онро васеъ кунед.
  6. Адаптер ва фасад. Ҳалли мушкилоти номувофиқатии интерфейс, инчунин бастабандии an objectҳо барои содда кардани интерфейси онҳо.
  7. Усули шаблон. Инкапсуляцияи блокҳои алгоритмӣ, ки ба зерклассҳо имкон медиҳад, ки дар вақти дилхоҳ бо алгоритми коркарди дилхоҳ пайваст шаванд.
  8. Итератор ва пайвандкунанда. Намуна воситаи қулайро барои такрори коллексияҳо, новобаста аз намуди онҳо таъмин мекунад. Илова бар ин, боб баъзе маълумотро дар бораи супермаҷмӯаҳо медиҳад.
  9. Давлат. Ба an objectҳо қобorяти назорат кардани рафтори онҳо тавассути тағир додани ҳолати дохorи худ дода мешавад.
  10. Муовини. Намунаи хеле қулай барои назорати дастрасӣ ба an object.
Боби 12 намунаҳои таркибӣ, ё дурусттар омезиши баъзе намунаҳои баррасишударо баррасӣ мекунад, ки метавонанд барои сохтани меъмории пурқуввати нармафзор истифода шаванд. Боби 13 ба истифодаи қолабҳо дар масъалаҳои воқеӣ бахшида шуда, таснифи нақшҳо, навъҳо ва дастурҳои истифодабарии онҳо оварда шудааст. Китоб ҳамчун замимаи боби 14 хизмат мекунад, ки доираи васеътари намунаҳоро дар бар мегирад. Ҳар яке аз онҳо ба таври худ муфид аст, бинобар ин донистани онҳо аз матлубтар аст. Албатта, онҳо мисли намунаҳои бобҳои 2-11 маъмул нестанд, аммо ин онҳоро камтар фоиданок намекунад. Ин китоб вонамуд намекунад, ки муаррифии дақиқи назарияи намунавӣ бошад. Аммо агар китобҳои Head First ин қадар бодиққат бошанд, таҳиягарони майлдор имкони фаҳмидани он ки чӣ будани чист ва асосҳоро барои худ равшан кунанд. Ин як роҳи оддӣ ва қулай барои фаҳмидани он, ки намунаҳои тарроҳӣ барои онҳое, ки бо онҳо шинос нестанд, мебошад. Ба гуфтаи муаллифон, Design Patterns китобест, ки барои онҳое мувофиқ аст, ки аллакай бо Java (ё C#) ошно ҳастанд, мехоҳанд принсипҳои тарҳрезии ба an object нигаронидашударо омӯзанд ва сӯҳбати ҷолибро аз лексияҳои дилгиркунанда афзалтар донанд. Ин китоб маълумотнома нест! Агар шумо як таҳиягари касбии дорои таҷриба бошед ва ҳадди аққал як қисми ин намунаҳо кор кунед, ба гумон аст, ки китоб ба шумо таваҷҷӯҳ кунад. Як ҷузъи муҳими китоб машқҳо мебошанд: шумо набояд онҳоро гузаред. Агар шумо китобро бодиққат хонед ва дар ҳолатҳои шадид дар Интернет ҷустуҷӯ кунед, ҳалли онҳо ба шумо дарди сар намедиҳад. Аммо албатта фоидаҳо хоҳанд буд. Ҳадди ақалл, шумо назарияеро, ки дар китоб пешниҳод шудааст, амиқтар мефаҳмед.

Афзалиятҳо ва нуқсонҳо

Ман мисли бисёре аз онҳое, ки дар JavaRush таҳсил мекунанд, ба лексияҳои дилгиркунанда, маводи пурбор ва дигар зӯроварӣ бар зидди равонии як донишҷӯи ташнаи дониш муносибати сард дорам. Энергияе, ки барои аз ёд кардани матнҳои нофаҳмо сарф мешавад, ба назари ман, беҳтараш барои дарёфти сарчашмаҳои алтернативии омӯзиш сарф мешавад. Ин китобест, ки ба маблағи вақт ва кӯшиши шумост. Услуби аълои муаррифӣ, идоракунии салоҳиятноки таваҷҷӯҳи хонанда ва такрори нуктаҳои асосӣ бартарии асосии ин китоб - осонии азхудкунии маводро ташкил медиҳанд . Шумораи зиёди тасвирҳо як бартарии иловагӣ аст. Ба фикрам, хар як расми китоб мавкеи худро дорад: хамаи онхо имконият медиханд, ки суханони муаллифонро мустахкам намуда, мохияти материалро чукуртар фахмед. Чунон ки ман дар боло навишта будам, ин китоб маълумотнома нест: муаллифони он ният надоранд, ки тамоми қолабҳоро номбар кунанд. Вазифаи асосии он таъмин намудани фаҳмиш ва гуфтугӯ дар бораи намунаҳои асосӣ мебошад, то фаҳмиши дигар, мураккабтар бошад. Ва вай бо ин 100% мубориза мебарад. Дар байни нуқсонҳо он аст, ки намунаҳои тарроҳии Head first дар забони русӣ хондан ба забони англисӣ чандон осон нест. Албатта, ҳар як таҳиягар бояд забони англисиро донад, аммо барномасозони навкор на ҳамеша ин маҳоратро ба дараҷае инкишоф медиҳанд, ки китобҳоро дар асл хонда тавонанд. Бо вуҷуди ин, ин метавонад як минуси маҷбурӣ ҳисобида шавад, зеро мавод хеле дақиқ пешниҳод карда мешавад ва маънои онро нигоҳ медорад.

Китобҳои иловагӣ оид ба намунаҳои тарроҳӣ

Ман тарафдори ин ақида ҳастам, ки беҳтар аст мавзӯъҳои бунёдиро аз чанд сарчашма омӯхта, дар онҳо услуби пешниҳоди мувофиқро ҷустуҷӯ кунам. Вақте ки шумо мехоҳед ба намунаҳо ғарқ шавед ва назарияи иловагӣ хонед, ба ман бовар кунед, шумо чизе доред, ки шомҳои худро ишғол кунед.
  1. Усулҳои тарҳрезии ба an object нигаронидашуда. Намунаҳои тарроҳӣ (Гамма Э., Хелм Р., Ҷонсон Р., Влиссидес Ҷ.).

    Баррасии китоби "Намудҳои тарҳрезӣ" (Сарлавҳаи аввал тарҳрезӣ) - 2

    Ин як нашрияи ҷиддитар, маълумотнома оид ба нақшҳо, китоби хеле мӯҳтарам аз "Бандаи чаҳоргона" аст. Бисёриҳо онро Инҷor тарроҳии OO меноманд.

    Дар Интернет, андешаҳои таҳиягарон ба 3 лагерҳо тақсим мешаванд:

    • баъзехо даъво мекунанд, ки китоб кухна шудааст ва услуби баёни он хонданро номумкин мегардонад
    • дигарон тавсия медиҳанд, ки китобро танҳо ҳамчун китоби маълумотнома оид ба намунаҳо истифода баранд, дигар чизе нест
    • дигарон мегӯянд, ки ин китоб муқаддаси намунаҳои тарроҳӣ аст ва бояд аз ҷониби ҳар касе, ки мехоҳад як рӯз таҳиягари калони Java шавад, мутолиа кунад.
    Ман тарафдори гурӯҳи дуюм ҳастам: Фикр мекунам, ки китоб воқеан арзанда аст, аммо хондани он барои рушд, на бо мақсади ҷустуҷӯи ягон маълумот, хеле душвор аст.

    Муҳим:Намунаҳо дар китоб бо C++ навишта шудаанд.

  2. Java EE. Намунаҳои тарроҳӣ барои мутахассисон (Мурат Йенер, Алекс Фидом).

    Баррасии китоби "Намудҳои тарҳрезӣ" (Сарлавҳаи аввал тарҳрезӣ) - 3

    Ин китоб ба тарҳрезии барномаҳои Enterprise бахшида шудааст: он мисолҳои зиёдеро дар бораи мушкилоти воқеии барномаҳо дар бар мегирад.

  3. Намунаҳои тарроҳӣ дар Java (Grand M.).

    Баррасии китоби "Намудҳои тарҳрезӣ" (Сарлавҳаи аввал тарҳрезӣ) - 4

    Китоб ба таври рангоранг нишон медиҳад, ки чӣ гуна истифодаи намунаҳо вақти таҳиягаронро сарфа мекунад, шарҳи забони UML-ро пешкаш мекунад ва 47 намунаи тарроҳиро тавсиф мекунад.

Намунаҳои тарроҳӣ дар JavaRush

Дар курси JavaRush, намунаҳои тарроҳӣ дар сатҳи 7 квести Java Collections омӯхта мешаванд. Лекцияхои 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