Modele de design în Python - curs 1990 RUR. de la Stepik, antrenament 130 de lecții, Data: 30 noiembrie 2023.
Miscelaneu / / December 03, 2023
Cursul oferă o privire de ansamblu cuprinzătoare asupra modelelor de design Python în practică. Acest curs acoperă tipare prin:
- folosind cea mai recentă versiune de Python
- folosind abordări moderne de programare: injecție de dependență, programare reactivă etc.
- folosind instrumente moderne de dezvoltare, cum ar fi PyCharm
- discuții despre diferite variații de tipare și abordări diferite
În acest curs ne vom uita la toate modelele de design din cartea Gang of Four, precum și la diferitele lor variații moderne cu amendamente și utilizarea caracteristicilor limbajului Python.
Ce sunt modelele de design?
Modelele de design sunt soluții tipice la problemele tipice. Au fost puse în circulație pentru prima dată în 1994, odată cu publicarea cărții Design Patterns: Elements of Reusable Object-Oriented Software de Erich Gamma, John Vlissides, Ralph Johnson și Richard Helm (deseori denumit bandă patru).
Cartea originală a fost scrisă folosind C++ și Smalltalk, dar de atunci modelele de design au fost adaptate la toate cele cunoscute limbaje de programare: C#, Java, Python și chiar acele limbaje care, strict vorbind, nu sunt orientate pe obiecte, cum ar fi Java Scenariul.
De fapt, vedem tipare de proiectare peste tot: în orice bibliotecă, le vedem încorporate în limbajele de programare. Deci nici nu-ți dai seama întotdeauna că le folosești.
Ce modele sunt acoperite în curs?
Cursul acoperă toate modelele de design din cartea Gang of Four. Iată lista completă a subiectelor:
- Principii SOLID de proiectare: Principiul responsabilității unice (SRP), Principiul Deschis/Închis (OCP), principiul substituției Liskov (LSP), principiul separării interfeței (ISP), principiul inversării dependenței (DIP)
- Modele de generare: Constructor, Fabrici, Prototip, Solo
- Modele structurale: adaptor, pod, linker, decorator, fațadă, oportunist, proxy
- Tipare comportamentale: lanț de dependență, comandă, interpret, iterator, mediator, custode, observator, stat, strategie, metodă șablon, vizitator
Pentru cine este acest curs?
Acesta este un curs pentru dezvoltatorii experimentați (cel puțin foarte familiarizați cu Python) care doresc să se familiarizeze cu implementările moderne de modele (și nu doar cu cele învechite din cărți).
Stilul de prezentare a cursului
Acest curs este prezentat ca o serie video mare de demonstrații de codare în PyCharm redate folosind motorul Kinetica. Kinetica elimină dezordinea vizuală a editorului, concentrându-vă asupra codului. Majoritatea demonstrațiilor vin cu un singur fișier de cod sursă, așa că îl puteți descărca și rula imediat în PyCharm, IDLE sau oriunde.
Nu există diagrame UML în acest curs. Toate demonstrațiile sunt programare live.
Cerințe inițiale
cunoștințe bune în Python
6
cursuriLucrez cu platforma .NET din 2003. Angajat profesional în proiectarea și implementarea software-ului de mai bine de 10 ani, în principal pe platforma .NET. Specialist certificat WPF și WCF. Vorbitor public la întâlniri și conferințe .NET din Moscova.
Cel mai important lucru care îmi caracterizează cursurile este stoarcerea esențialului. Nu-mi plac gândurile răspândite prin copac (dacă nu este vorba despre nimic). Concizia este sora talentului și cred că în epoca modernă a supraîncărcării informaționale este necesară concentrează-te pe cel mai important lucru și filtrează „extra” până când acest „extra” chiar nu este va fi nevoie.