Мазмунга өтүү

Python'догу долбоорлоо паттерндери

Сабактын башталышы

Python'догу долбоорлоо паттерндери

Классикалык паттерндер питоникалык жол менен кайра жазылган: модулдер, биринчи класстагы функциялар жана протоколдор

Негизги ой: Долбоорлоо паттерни - бул кайталанган долбоорлоо маселесинин аталышы бар, кайра колдонулуучу чечими. Атактуу "Төртөөнүн бандасы" каталогу C++ жана Java сыяктуу статикалык тилдер үчүн жазылган. Python динамикалуураак: функциялар - объекттер, модулдер - кэштелген синглтондор, ал эми өрдөк типтештирүү интерфейс иерархиясы дээрлик керек эмес дегенди билдирет. Ошондуктан Python'до паттерндердин көбү жеңилирээк болуп калат - айрымдары дээрлик жоголот.
Аягында сиз:
  • эмне үчүн Python модулу буга чейин синглтон экенин түшүндүрө аласыз;
  • фабрика класстарынын иерархиясын чакырылуучу объекттердин реестр-сөздүгү менен алмаштыра аласыз;
  • функцияны жөн эле берип, Стратегия паттернин ишке ашыра аласыз;
  • жазылуучу функциялардын тизмесинин негизинде Байкоочуну кура аласыз;
  • ABC ордуна структуралык типтештирүү үчүн typing.Protocol колдоно аласыз.

1. Паттерн деген эмне - жана Python'дун өзгөчөлүгү

Паттерн - бул китепкана да, тилдин мүмкүнчүлүгү да эмес; бул кайра-кайра пайда болгон чечимдин формасы. Бул формаларды атоо командага жалпы сөздүк берет: "бул жерде Стратегияны колдоноли" деп айтуу эки сөз менен бүтүндөй ой-ниетти жеткирет.

Кыйынчылык - көптөгөн окуу паттерндери класстар гана бар статикалык тилдердин чектөөлөрүн айланып өтүү үчүн бар. Мындай тилдерде функцияны берүүгө болбойт, ошондуктан аны бир методу бар объектке ороп коюшат. Python функцияларды берүүнү, аларды сөздүктө сактоону жана аткаруу учурунда жүрүм-турумду алмаштырууну билет, ошондуктан объект-ороо көбүнчө ашыкча расмийлик болуп калат. Кесипкөй адат - ой-ниетти билдирген эң жөнөкөй куралды алуу жана класстарды алар акталганда гана кошуу.

ПаттернКлассикалык ООП формасыПитоникалык формасы
Синглтонөз конструкторун жашырган классмодуль (процесске бир гана)
Фабрикажаратуучу класстардын иерархиясычакырылуучу объекттердин реестр-сөздүгү
Стратегиястратегия интерфейси + конкреттүү класстарбиринчи класстагы функцияны берүү
Байкоочусубъект жана байкоочу интерфейстерижазылуучу функциялардын тизмеси

Бул сабакты YourAIZone платформасында улантыңыз

Толук сабакта — толук түшүндүрмө, чыгарылган мисалдар, көп кездешкен каталар, заматта текшерилүүчү тесттер жана ЖИ-репетитор. Конок катары дароо баштаңыз же прогрессти сактоо үчүн аккаунт түзүңүз.

Толук сабакта

  • Толук түшүндүрмө
  • Чыгарылган мисалдар
  • Көп кездешкен каталар жана алардан кантип качуу керек
  • Тест суроолору: 15
  • Тема боюнча суроолорго жооп берген ЖИ-репетитор
  • Окуучу, ата-эне жана мугалим үчүн прогрессти көзөмөлдөө