🔔 با توجه به بهبود نسبی اینترنت، آمادهسازی دورهها آغاز شده است. به دلیل تداوم برخی اختلالات، بارگذاری دورهها ممکن است با کمی تأخیر انجام شود. مدت اشتراکهای تهیهشده محفوظ است.
لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش پایتون OOP: برنامه نویسی شی گرا از مبتدی تا حرفه ای
- آخرین آپدیت
دانلود Python OOP: Object Oriented Programming From Beginner to Pro
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
همه چیز برای توسعه نرمافزار شیءگرا (OOP) عالی
یادگیری کلاسها، اشیاء، چندریختی (Polymorphism)، اصول SOLID، الگوهای طراحی (Design Patterns) و بیشتر.
از یک مبتدی کامل OOP به یک متخصص با اعتماد به نفس تبدیل شوید و آماده ورود به بازار کار نرمافزارهای شیءگرا باشید.
یادگیری اصول اولیه OOP
ساخت کلاسها و اشیاء
ویژگیها (Attributes) و متدها (Methods)
مدیریت دسترسی (Access Modifiers)
کلاسهای انتزاعی (Abstract Classes)
Getter و Setter ها
ویژگیهای ثابت (Static Attributes) و متدهای ثابت (Static Methods)
ویژگیها در مقابل Getter و Setter ها
درک مفاهیم حیاتی OOP با مثال
کپسولهسازی (Encapsulation)
انتزاع (Abstraction)
ارثبری (Inheritance)
چندریختی (Polymorphism)
وابستگی (Coupling)
ترکیب (Composition)
تزریق وابستگی (Dependency Injection)
یاد بگیرید چگونه مسئولیتها را به کلاسها اختصاص دهید و روابط بین آنها را مدیریت کنید.
اصول SOLID برای طراحی نرمافزار
پنج اصل SOLID را بیاموزید تا نحوه تخصیص مسئولیتها به کلاسها و مدیریت روابط بین آنها را بدانید.
الگوهای طراحی "Gang of Four"
راهکارهای اثبات شده برای مشکلات تکراری در طراحی نرمافزار، تا نیازی به اختراع چرخ نداشته باشید.
الگوی حالت (State Pattern)
الگوی مشاهدهگر (Observer Pattern)
الگوی facade (Facade Pattern)
الگوی آداپتور (Adapter Pattern)
الگوی نمونه اولیه (Prototype Pattern)
الگوی کارخانه انتزاعی (Abstract Factory Pattern)
زبان مدلسازی یکپارچه (UML)
برای مدلسازی بصری کلاسها و روابط بین آنها به روشی استاندارد.
پیشنیازها
فقط مبانی اولیه پایتون: متغیرها، توابع، دستورات if، حلقههای for.
هیچ دانشی از برنامهنویسی شیءگرا برای شرکت در این دوره لازم نیست. شما را از اصول اولیه تا سطح پیشرفته آموزش خواهم داد.
این دوره برای توسعهدهندگان پایتون، در هر سطحی، که میخواهند تمام آنچه را که برای نوشتن نرمافزارهای شیءگرای زیبا، سازمانیافته و قابل نگهداری لازم است بیاموزند، طراحی شده است.
برنامهنویسی شیءگرا (OOP) میتواند برای مبتدیان گیجکننده باشد. بیشتر دورههای پایتون فقط درباره کلاسها، اشیاء، فیلدها و متدها آموزش میدهند – بدون آموزش مفاهیم حیاتی که قدرت سازماندهی نرمافزار را نشان میدهند.
توسعهدهندگان پایتون اغلب بدون هیچ دانشی از نحوه سازماندهی کد خود، در نرمافزارهای شیءگرا مانند برنامههای وب ساخته شده با Django کار میکنند. این منجر به نرمافزاری میشود که نگهداری آن کابوس است، زیرا افزودن ویژگیهای جدید اغلب نیازمند تغییرات مخرب در کد موجود و تست شده است.
این دوره با هدف شفافسازی OOP برای توسعهدهندگان پایتون ایجاد شده است. از طریق توضیحات واضح و مثالهای دنیای واقعی، مفاهیم ضروری OOP مانند کپسولهسازی، انتزاع، چندریختی، ترکیب، ارثبری، تزریق وابستگی، UML، اصول SOLID و الگوهای طراحی را بررسی خواهیم کرد – که تمام آنچه را که برای توسعه نرمافزارهای شیءگرای عالی، قابل نگهداری و زیبا نیاز دارید، در اختیار شما قرار میدهد.
آنچه خواهید آموخت
بخش اول دوره فرض میکند که شما یک مبتدی کامل OOP هستید و مبانی اولیه OOP را معرفی میکند: کلاسها و اشیاء، ویژگیها و متدها، مدیریت دسترسی، ویژگیهای ثابت و متدهای ثابت، ویژگیها در مقابل Getter و Setter ها. در پایان این بخش، ابزارهایی برای نوشتن و درک نرمافزارهای شیءگرا خواهید داشت…
اما ابزارها به تنهایی کافی نیستند! نوشتن نرمافزار عالی نیازمند درک اصولی است که به شما در سازماندهی مؤثر کد کمک میکنند. بقیه دوره بر این اصول آزمایش شده در طول زمان تمرکز دارد و به شما میآموزد که چگونه در مورد نرمافزارهای OOP با طراحی خوب، قابل نگهداری و توسعهپذیر فکر کنید، بازسازی کنید و ارتباط برقرار کنید. هر مفهوم با مثالی معرفی میشود که ابتدا اصل را نقض میکند، سپس با بحث در مورد مشکلات و راهحل بازسازی شده – که به شما کمک میکند اصل و کاربردهای آن را به خوبی درک کنید.
بخش دوم اصول اولیه OOP را پوشش میدهد که در ادامه شغل خود استفاده خواهید کرد: کپسولهسازی، انتزاع، ارثبری، چندریختی، وابستگی، ترکیب (و مزایای آن نسبت به ارثبری) و مشکل کلاس پایه شکننده (fragile base class problem).
بخش سوم زبان مدلسازی یکپارچه (UML) را برای مدلسازی بصری کلاسها و اشیاء، و روابط بین آنها به روشی استاندارد معرفی میکند.
بخش چهارم به اصول SOLID میپردازد و بر مفاهیم بخش دوم تکیه میکند. این بخش درک شما را از نحوه تخصیص مسئولیتها به کلاسها و مدیریت روابط بین آنها عمیقتر میکند.
بخش پنجم الگوهای طراحی "Gang of Four" را معرفی میکند. این الگوها راهحلهای اثبات شده برای مشکلات تکراری در طراحی نرمافزار ارائه میدهند و همه چیزهایی را که در دوره آموختهاید تقویت میکنند.
با پایان این دوره، دانش و اعتماد به نفس لازم برای نوشتن کدهای OOP تمیز، مقیاسپذیر و قابل نگهداری را خواهید داشت.
سرفصل ها و درس ها
مقدمه
Introduction
به پایتون شیگرا خوش آمدید! این دوره برای چه کسانی است؟
Welcome to Python OOP! Who is this course for?
آنچه یاد خواهید گرفت
What you will learn
درباره من
About me
نصب و Github
Setup and Github
بخش ۱: مبانی شیگرایی
Part 1: OOP Fundamentals
ایجاد کلاسها و اشیاء
Creating classes and objects
خلاصه: ایجاد کلاسها و اشیاء
Recap: creating classes and objects
ترکیب اشیاء
Combining objects
خلاصه: کلاسها، اشیاء، خصوصیات (attributes)، متدها و self
Recap: classes, objects, attributes, methods and self
مثال: یک کلاس Person
Example: a Person class
دسترسی و تغییر دادههای اشیاء
Accessing and modifying object data
خصوصیات ایستا در مقابل خصوصیات نمونه (instance attributes)
Static attributes vs instance attributes
متدهای ایستا (Static methods)
Static methods
متدهای ایستا: چه زمانی از آنها استفاده کنیم؟
Static methods: when to use them?
متدهای محافظت شده و خصوصی
Protected and private methods
بخش ۲: اصول شیگرایی
Part 2: OOP Principles
مقدمه
Introduction
کپسولهسازی (Encapsulation)
Encapsulation
کپسولهسازی: چرا مهم است؟
Encapsulation: why is it important?
انتزاع (Abstraction)
Abstraction
ارثبری (Inheritance)
Inheritance
چندریختی (Polymorphism): مقدمه و راه حل ابتدایی
Polymorphism: intro and naive solution
چندریختی (Polymorphism): راه حل بازسازی شده
Polymorphism: refactored solution
وابستگی (Coupling): مقدمه و راه حل ابتدایی
Coupling: intro and naive solution
وابستگی (Coupling): راه حل بازسازی شده
Coupling: refactored solution
کلاسهای انتزاعی و متدهای انتزاعی
Abstract classes and abstract methods
ترکیب (Composition)
Composition
چه زمانی از ترکیب در مقابل ارثبری استفاده کنیم
When to use composition vs inheritance
مشکل کلاس پایه شکننده (The Fragile Base Class Problem)
The Fragile Base Class Problem
بخش ۳: زبان مدلسازی یکپارچه (UML)
Part 3: Unified Modelling Language (UML)
یک دوره فشرده فوقالعاده سریع UML
A super fast crash course in UML
بخش ۴: اصول SOLID
Part 4: The SOLID Principles
مقدمه
Introduction
اصل مسئولیت واحد (SRP): مقدمه و راه حل ابتدایی
Single Responsibility Principle (SRP): intro and naive solution
SRP: راه حل بازسازی شده
SRP: refactored solution
نکته: استفاده از ترکیب در کلاسهای سرویس
Caveat: using composition in service classes
نکته دوم: استفاده از پارامترهای متد در کلاسهای سرویس
Caveat II: using method parameters in service classes
اصل باز/بسته (OCP): مقدمه و راه حل ابتدایی
Open/closed principle (OCP): intro and naive solution
OCP: راه حل بازسازی شده
OCP: refactored solution
اصل جایگزینی لیسکوف (LSP): مقدمه و راه حل ابتدایی
Liskov Substitution Principle (LSP): intro and naive solution
LSP: راه حل بازسازی شده
LSP: refactored solution
LSP: نشان دادن اینکه چرا این راه حل LSP را برآورده میکند
LSP: demonstrating why this solution satisfies LSP
اصل تفکیک رابط (ISP): مقدمه و راه حل ابتدایی
Interface Segregation Principle (ISP): intro and naive solution
ISP: راه حل بازسازی شده
ISP: refactored solution
اصل وارونگی وابستگی (DIP): مقدمه و راه حل ابتدایی
Dependency Inversion Principle (DIP): intro and naive solution
DIP: UML و ماژولهای "سطح بالا" و "سطح پایین" چه هستند؟
DIP: UML + what are "high-level" and "low-level" modules?
DIP: راه حل بازسازی شده با تزریق وابستگی (dependency injection)
DIP: refactored solution with dependency injection
DIP: UML و بحث
DIP: UML and discussion
مزایای تزریق وابستگی
The benefits of dependency injection
بخش ۵: الگوهای طراحی "Gang of Four"
Part 5: The “Gang of Four” Design Patterns
الگوهای طراحی چه هستند؟ چرا به آنها نیاز داریم؟
What are design patterns? Why do we need them?
سه گروه الگوهای طراحی: رفتاری (Behavioural)، ساختاری (Structural) و آفرینشی (Creational)
The three groups of design patterns: Behavioural, Structural and Creational
الگوهای طراحی رفتاری: مقدمه
Behavioural Design Patterns: intro
الگوی حالت (State Pattern): مقدمه
State Pattern: intro
الگوی حالت: راه حل ابتدایی
State Pattern: naive solution
الگوی حالت: UML و بحث
State Pattern: UML and discussion
الگوی حالت: راه حل بازسازی شده
State Pattern: refactored solution
الگوی حالت: چه زمانی از آن استفاده کنیم (و نکنیم)
State Pattern: when to use it (and not use it)
نمایش نظرات