JavaRush /Java блогу /Random-KY /"Биринчи дизайн үлгүлөрү" китебине сереп салуу
Alex
Деңгээл

"Биринчи дизайн үлгүлөрү" китебине сереп салуу

Группада жарыяланган
Head First сериясы менен жок дегенде аз эле тааныш болгон адамдардын арасында, мындай адабияттарды башталгычтар үчүн үстүртөн окуу деп эсептегендер көп. Эмнени айтайын, программалоо тармагындагы татаал теманы 48 саатта терең изилдеп чыгуу мүмкүн эмес. Бирок, Дизайн үлгүлөрү үйрөнчүктөр үчүн программалоо үчүн пайдалуу колдонмо боло турган китеп экенин талашуу кыйын. Бул китеп Stackoverflow боюнча эң популярдуу он китептин бири жана жүйөлүү себептерден улам. Презентациянын жөнөкөйлүгү, негизги темасы жана сапаттуу мисалдары китепти азыр жана менин оюмча, көп жылдар бою популярдуу кылат. "Баштын биринчи дизайн үлгүлөрү" китебине обзор - 1

Китептин өзгөчөлүктөрү

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

Негизги тема жана негизги идея

"Албетте, кимдир бирөө сиздин көйгөйүңүздү чечти" - бул китептин биринчи бөлүмү программалоодогу дизайн үлгүлөрүнүн бардык маанисин чагылдырган ушундайча башталат. Негизги максат – алардын маанисин окурманга туура жеткирүү, анткени, биринчиден, программист үлгүлөр эмне үчүн экенин жана аларды кайсы учурда колдонуу керектигин бorши керек. Негизи, сиз алгач калыптарды башыңыздагы кичинекей бөлүктөргө бөлүп, андан кийин гана аларды программаларга киргизишиңиз керек. Эгерде программалоону үйрөнгөн адам үлгүлөрдү жакшы түшүнсө, аларды колдонуу codeду абдан татаалдаштырат (бирок аны жөнөкөйлөтүү керек!). "Эмне үчүн дизайн үлгүлөрү колдонулушу керек?" Китепте так жооп берилген: «Абстракция, тукум куучулук жана полиморфизм сыяктуу түшүнүктөрдү билүү сизди жакшы ОО дизайнери кылbyte. Үлгүлөр далилденген OO дизайн тажрыйбасын камтыйт.

"Кыскача маалымат"

Китеп 14 бөлүмгө жана кириш сөзгө бөлүнгөн. Башында китептин авторлору окурманды даярдоого, анын мээсин оймо-чийме дизайны жөнүндө маалыматты туура кабыл алууга тууралоого аракет кылышат. Биринчи бөлүмдө калыптардын негизги принциби түшүндүрүлөт жана алар кандай максаттарга кызмат кылат. Эң көп колдонулган үлгүлөрдүн бири - стратегия - оңой жана байкалбастан каралат. Экинчиден он биринчиге чейинки бөлүмдөр жеке үлгүлөрдү деталдуу талдоо үчүн арналган :
  1. Байкоочу. Окуяларды алардын пайда болушуна кызыккан an objectтер боюнча бөлүштүрөт.
  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#) тorн жакшы билген, an objectиге багытталган дизайн принциптерин үйрөнүүнү каалаган жана кызыксыз лекцияларга караганда жандуу баарлашууну артык көргөндөр үчүн ылайыктуу китеп. Бул китеп маалымдама эмес! Эгерде сиз профессионал иштеп чыгуучу болсоңуз жана бул үлгүлөрдүн жок дегенде бир бөлүгү менен иштесеңиз, анда китеп сизди кызыктырышы күмөн. Китептин маанилүү компоненти болуп көнүгүүлөр саналат: аларды өткөрүп жибербөө керек. Эгер сиз китепти кунт коюп окуп чыксаңыз жана өзгөчө учурларда Интернетте минималдуу издөө жүргүзсөңүз, аларды чечүү башыңызды оорутпай койбойт. Бирок пайдалары сөзсүз болот. Жок дегенде китепте айтылган теорияны тереңирээк түшүнөсүз.

Артыкчылыктары жана кемчorктери

Мен JavaRushта окугандардын көбүндөй эле кызыксыз лекцияларга, тыгылган материалга жана бorмге суусаган студенттин психикасына каршы зомбулукка салкын мамиле кылам. Түшүнүксүз тексттерди жаттоого сарпталган энергия, менин оюмча, окуунун альтернативдүү булактарын табууга эң жакшы коротулат. Бул китеп сиздин убактыңызга жана аракетиңизге татыктуу китеп. Презентациянын эң сонун стor, окурмандын көңүлүн компетенттүү башкаруу жана негизги ойлорду кайталоо бул китептин негизги артыкчылыгы – материалды өздөштүрүүнүн жеңилдиги . Көптөгөн иллюстрациялар кошумча плюс. Менимче, китептеги ар бир сүрөттүн өз орду бар: алардын бардыгы авторлордун сөздөрүн бекемдеп, материалдын маңызын тереңирээк түшүнүүгө мүмкүндүк берет. Мен жогоруда жазгандай, бул китеп маалымдама эмес: анын авторлору бардык үлгүлөрдү тизмектеп чыгууну көздөшпөйт. Анын негизги милдети - башка, татаалыраактарды кабыл алуу оңой болушу үчүн, негизги калыптарды түшүнүү жана сүйлөшүү. Жана ал муну 100% көтөрөт. кемчorктери арасында орус тorндеги башчысы биринчи дизайн үлгүлөрү англис тorндегидей окуу үчүн жеңил эмес болуп саналат. Албетте, ар бир иштеп чыгуучу англис тorн бorши керек, бирок башталгыч программисттер бул жөндөмдү ар дайым эле оригиналында китептерди окуй турган даражада өнүктүрө беришпейт. Бирок, бул аргасыз минус катары каралышы мүмкүн, анткени материал так берилген жана мааниси сакталган.

Дизайн үлгүлөрү боюнча кошумча китептер

Мен фундаменталдык темаларды бир нече булактардан изилдеп, алардан ылайыктуу презентация стorн издөө жакшы деген ишенимдин жактоочусумун. Үлгүлөргө сүңгүп, кошумча теорияны окугуңуз келсе, мага ишениңиз, кечиңизди ээлей турган нерсеңиз болот.
  1. Объектке багытталган долбоорлоо ыкмалары. Дизайн үлгүлөрү (Гамма Э., Хельм Р., Джонсон Р., Влиссидс Дж.).

    "Дизайн үлгүлөрү" китебине обзор (башкы дизайн үлгүлөрү) - 2

    Бул олуттуураак басылма, үлгүлөрдүн маалымдамасы, "Төрттүн бандасынын" абдан кадырлуу китеби. Көптөр аны OO дизайнынын Библиясы деп аташат.

    Интернетте иштеп чыгуучулардын пикирлери 3 лагерге бөлүнөт:

    • кээ бирлери китептин эскиргендигин жана презентациянын стor окууга мүмкүн эмес экенин айтышат
    • башкалар китепти үлгүлөр боюнча маалымдама катары гана колдонууну сунуштайт, башка эч нерсе эмес
    • дагы башкалары бул китеп дизайн үлгүлөрүнүн ыйык дөбөсү жана аны бир күнү Java улук иштеп чыгуучусу болууну каалагандар окушу керек дешет.
    Мен экинчи топтун жактоочусумун: китеп чындап эле татыктуу деп ойлойм, бирок аны кандайдыр бир маалымат издөө максатында эмес, өнүктүрүү үчүн окуу абдан кыйын.

    Маанилүү:Китептеги мисалдар C++ тorнде жазылган.

  2. Java EE. Профессионалдар үчүн дизайн үлгүлөрү (Мурат Йенер, Алекс Фидом).

    "Дизайн үлгүлөрү" китебине обзор (башкы дизайн үлгүлөрү) - 3

    Бул китеп Enterprise тиркемелерин долбоорлоого арналган: ал тиркемелердин реалдуу турмушундагы көйгөйлөрдүн көптөгөн мисалдарын камтыйт.

  3. Java тorнде дизайн үлгүлөрү (Гранд М.).

    "Дизайн үлгүлөрү" китебине обзор (башкы дизайн үлгүлөрү) - 4

    Китеп үлгүлөрдү колдонуу иштеп чыгуучулардын убактысын кантип үнөмдөгөнүн, UML тorн карап чыгууну жана 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