آموزش پایتون 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

  • مدیرهای دسترسی (Access Modifiers): خصوصیات محافظت شده (protected attributes) Access modifiers: protected attributes

  • چه زمانی باید یک خصوصیت را محافظت شده (protected) کرد؟ When should you make an attribute protected?

  • فلسفه "بزرگسالان رضایت‌دهنده" پایتون و خصوصیات خصوصی (private attributes) Python's "Consenting Adults" philosophy and private attributes

  • چه زمانی از خصوصیات محافظت شده در مقابل خصوصی استفاده کنیم When to use protected vs private attributes

  • ایجاد متدهای getter و setter Creating getter and setter methods

  • چرا getter و setter ایجاد می‌کنیم؟ Why do we create getters and setters?

  • Properties: ایجاد یک property getter. Properties در مقابل getters و setters Properties: creating a getter property. Properties vs getters and setters

  • Properties: ایجاد یک property setter Properties: creating a setter property

  • خصوصیات ایستا (Static attributes) Static attributes

  • خصوصیات ایستا در مقابل خصوصیات نمونه (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)

  • الگوی ناظر (Observer Pattern): مقدمه Observer Pattern: intro

  • الگوی ناظر: راه حل ابتدایی Observer Pattern: naive solution

  • الگوی ناظر: UML و بحث Observer Pattern: UML and discussion

  • الگوی ناظر: راه حل بازسازی شده Observer Pattern: refactored solution

  • الگوی ناظر: ارتباط push در مقابل pull Observer Pattern: push vs pull communication

  • الگوهای طراحی ساختاری: مقدمه Structural Design Patterns: intro

  • الگوی facade (Facade Pattern): مقدمه Facade Pattern: intro

  • الگوی facade: راه حل ابتدایی Facade Pattern: naive solution

  • الگوی facade: UML و بحث Facade Pattern: UML and discussion

  • الگوی facade: راه حل بازسازی شده Facade Pattern: refactored solution

  • الگوی آداپتور (Adapter Pattern): مقدمه Adapter Pattern: intro

  • الگوی آداپتور: مثال Adapter Pattern: example

  • الگوی آداپتور: معرفی یک مشکل Adapter Pattern: introducing a problem

  • الگوی آداپتور: UML و بحث Adapter Pattern: UML and discussion

  • الگوی آداپتور: راه حل بازسازی شده Adapter Pattern: refactored solution

  • الگوی آداپتور: آیا باید از ارث‌بری یا ترکیب استفاده کنیم؟ Adapter Pattern: should we use inheritance or composition?

  • الگوهای طراحی آفرینشی: مقدمه Creational Design Patterns: intro

  • الگوی نمونه اولیه (Prototype Pattern): مقدمه Prototype Pattern: intro

  • الگوی نمونه اولیه: راه حل ابتدایی Prototype Pattern: naive solution

  • الگوی نمونه اولیه: UML و بحث Prototype Pattern: UML and discussion

  • الگوی نمونه اولیه: راه حل بازسازی شده Prototype Pattern: refactored solution

  • الگوی کارخانه انتزاعی (Abstract Factory Pattern): مقدمه Abstract Factory Pattern: intro

  • الگوی کارخانه انتزاعی: راه حل ابتدایی Abstract Factory Pattern: naive solution

  • الگوی کارخانه انتزاعی: UML و بحث Abstract Factory Pattern: UML and discussion

  • الگوی کارخانه انتزاعی: راه حل بازسازی شده Abstract Factory Pattern: refactored solution

  • الگوی کارخانه انتزاعی: بحث در مورد راه حل بازسازی شده Abstract Factory Pattern: discussing the refactored solution

نتیجه‌گیری Conclusion

  • تبریک! از اینجا به بعد به کجا بروم؟ Congratulations! Where do I go from here?

نمایش نظرات

آموزش پایتون OOP: برنامه نویسی شی گرا از مبتدی تا حرفه ای
جزییات دوره
6.5 hours
89
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
335
4.7 از 5
ندارد
دارد
دارد
Danny Adams
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Danny Adams Danny Adams

توسعه‌دهنده وب فول استک و مربی در FreeCodeCamp