لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش مبانی برنامه نویسی: الگوهای طراحی (2013)
Programming Foundations: Design Patterns (2013)
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
الگوهای طراحی راه حل های قابل استفاده مجددی هستند که چالش هایی را که توسعه دهندگان نرم افزار بارها و بارها با آن روبرو هستند حل می کنند. به جای اختراع مجدد چرخ، یاد بگیرید که چگونه از این الگوهای اثبات شده و آزمایش شده استفاده کنید که نرم افزار شما را قابل اعتمادتر و انعطاف پذیرتر در برابر تغییر می کند. این دوره شما را با طراحی الگوها آشنا می کند و شما را با هفت مورد از پرکاربردترین الگوهای شی گرا آشنا می کند که توسعه شما را سریعتر و آسان تر می کند. الیزابت رابسون و اریک فریمن، نویسندگان همکارالگوهای طراحی اول سر، نیروها را به هم می پیوندند تا یک نمای کلی از هر الگو و نمونه هایی از الگوی در عمل ارائه دهند. الگوهای طراحی برجسته شامل الگوهای استراتژی، ناظر، دکوراتور، تک تن، مجموعه، حالت، و الگوهای روش کارخانه است.
سرفصل ها و درس ها
2. مفاهیم عمومی 3. ساختار داده ها4. حلقه 5 ساختارهای کنترل 6. اشکال زدایی و مدیریت خطا7. پردازش سیگنال8. منابع LabVIEWConcludIntroduction1. تعریف Python2. اصول برنامه نویسی در پایتون: Data3. اصول برنامه نویسی در پایتون: توابع
Introduction
چرخ را دوباره اختراع نکنید
Don't reinvent the wheel
خوش آمدید
Welcome
آنچه باید بدانید
What you should know
آنچه باید قبل از تماشای این دوره بدانید
What you should know before watching this course
با استفاده از فایل های تمرین
Using the exercise files
2. مفاهیم عمومی 3. ساختار داده ها4. حلقه 5 ساختارهای کنترل 6. اشکال زدایی و مدیریت خطا7. پردازش سیگنال8. منابع LabVIEWConcludIntroduction1. تعریف Python2. اصول برنامه نویسی در پایتون: Data3. اصول برنامه نویسی در پایتون: توابع
1. Design Patterns
تجربه طراحی شی گرا
Object-oriented design experience
درک نیاز به الگوهای طراحی
Understanding the need for design patterns
استفاده از الگوهای طراحی
Using design patterns
الگوهای طراحی چیست؟
What are design patterns?
اصول طراحی چیست؟
What are design principles?
2. مفاهیم عمومی 3. ساختار داده ها4. حلقه 5 ساختارهای کنترل 6. اشکال زدایی و مدیریت خطا7. پردازش سیگنال8. منابع LabVIEWConcludIntroduction1. تعریف Python2. اصول برنامه نویسی در پایتون: Data3. اصول برنامه نویسی در پایتون: توابع
2. The Strategy Pattern
ارجاع مجدد
Revisiting inheritance
محدودیت های ارث
Limitations of inheritance
کد کپسولهسازی که متفاوت است
Encapsulating code that varies
رابط را امتحان کنید
Trying interfaces
از اصول طراحی الهام بگیرید
Get inspiration from design principles
درک اینکه چرا HAS-A بهتر از IS-A است
Understanding why HAS-A is better than IS-A
تنظیم رفتار به صورت پویا
Setting behavior dynamically
برنامه نویسی به یک رابط
Programming to an interface
درک مشکلات وراثت و رابط
Understanding the pitfalls of inheritance and interfaces
استفاده از اصول
Applying the principles
بررسی الگوی استراتژی
Exploring the strategy pattern
چرا HAS-A بهتر از IS-A است
Why HAS-A is better than IS-A
چالش: الگوی استراتژی
Challenge: The Strategy pattern
راه حل: الگوی استراتژی
Solution: The Strategy pattern
2. مفاهیم عمومی 3. ساختار داده ها4. حلقه 5 ساختارهای کنترل 6. اشکال زدایی و مدیریت خطا7. پردازش سیگنال8. منابع LabVIEWConcludIntroduction1. تعریف Python2. اصول برنامه نویسی در پایتون: Data3. اصول برنامه نویسی در پایتون: توابع
3. The Adapter Pattern
درک الگوی آداپتور
Understanding the adapter pattern
الگوی آداپتور تعریف شده است
The Adapter pattern defined
با استفاده از الگوی آداپتور
Using the Adapter pattern
Challenge: الگوی آداپتور
Challenge: The Adapter pattern
راه حل: الگوی آداپتور
Solution: The Adapter pattern
3. الگوی مشاهده گر
3. The Observer Pattern
بررسی الگوی مشاهده گر
Exploring the observer pattern
پیاده سازی الگوی مشاهده گر با کلاس های Observer و Observable جاوا
Implementing the observer pattern with Java's Observer and Observable classes
پیاده سازی الگوی مشاهده گر
Implementing the observer pattern
استفاده از کلاس های Observer و Observable جاوا
Using Java's Observer and Observable classes
درک الگوی مشاهده گر
Understanding the observer pattern
استفاده از الگوی مشاهده گر در دنیای واقعی
Using the observer pattern in the real world
مزایای کوپلینگ شل
The advantages of loose coupling
2. مفاهیم عمومی 3. ساختار داده ها4. حلقه 5 ساختارهای کنترل 6. اشکال زدایی و مدیریت خطا7. پردازش سیگنال8. منابع LabVIEWConcludIntroduction1. تعریف Python2. اصول برنامه نویسی در پایتون: Data3. اصول برنامه نویسی در پایتون: توابع
4. The Observer Pattern
درک الگوی Observer
Understanding the Observer pattern
الگوی Observer تعریف شده است
The Observer pattern defined
با استفاده از الگوی Observer
Using the Observer pattern
الگوی Observer و کوپلینگ شل
The Observer pattern and loose coupling
چالش: الگوی Observer
Challenge: The Observer pattern
راه حل: الگوی Observer
Solution: The Observer pattern
4. الگوی دکوراتور
4. The Decorator Pattern
درک اصل باز-بسته
Understanding the open-closed principle
استفاده از دکوراتورهای java.io
Using java.io decorators
اجرای الگوی دکوراتور
Implementing the decorator pattern
آشنایی با دکوراتورها در کتابخانه های جاوا
Understanding decorators in Java libraries
ایجاد هرج و مرج با ارث
Creating chaos with inheritance
درک الگوی دکوراتور
Understanding the decorator pattern
بسط رفتار با ترکیب
Extending behavior with composition
2. مفاهیم عمومی 3. ساختار داده ها4. حلقه 5 ساختارهای کنترل 6. اشکال زدایی و مدیریت خطا7. پردازش سیگنال8. منابع LabVIEWConcludIntroduction1. تعریف Python2. اصول برنامه نویسی در پایتون: Data3. اصول برنامه نویسی در پایتون: توابع
5. The Decorator Pattern
ایجاد هرج و مرج با وراثت
Creating chaos with inheritance
درک اصل باز
Understanding the open-closed principle
گسترش رفتار با ترکیب
Extending behavior with composition
درک الگوی دکوراتور
Understanding the decorator pattern
با استفاده از الگوی دکوراتور
Using the Decorator pattern
چالش: الگوی دکوراتور
Challenge: The Decorator pattern
راه حل: الگوی دکوراتور
Solution: The Decorator pattern
5. الگوی سینگلتون
5. The Singleton Pattern
پیاده سازی الگوی کلاسیک تک تن
Implementing the classic singleton pattern
درک الگوی کلاسیک تک تن
Understanding the classic singleton pattern
الگوی تک قلو چیست؟
What is the singleton pattern?
بهبود اجرای الگوی تک تن
Improving the singleton pattern implementation
مقابله با چند رشته ای
Dealing with multithreading
2. مفاهیم عمومی 3. ساختار داده ها4. حلقه 5 ساختارهای کنترل 6. اشکال زدایی و مدیریت خطا7. پردازش سیگنال8. منابع LabVIEWConcludIntroduction1. تعریف Python2. اصول برنامه نویسی در پایتون: Data3. اصول برنامه نویسی در پایتون: توابع
6. The Iterator Pattern
تکرار تکرار شونده
Encapsulating iteration
درک الگوی Iterator
Understanding the Iterator pattern
با استفاده از الگوی Iterator
Using the Iterator pattern
با استفاده از تکرار شونده های داخلی
Using built-in iterators
اصل مسئولیت واحد
The single responsibility principle
الگوی تکرار به عنوان ویژگی زبان
The iterator pattern as language feature
چالش: الگوی Iterator
Challenge: The Iterator pattern
راه حل: الگوی Iterator
Solution: The Iterator pattern
6. الگوی دولت
6. The State Pattern
اجرای الگوی دولتی
Implementing the state pattern
درک الگوی حالت
Understanding the state pattern
مقایسه الگوهای دولت و استراتژی
Comparing the state and strategy patterns
بازبینی طرح برای یک ماشین حالت
Revisiting the design for a state machine
ماشین دولتی چیست؟
What is a state machine?
2. مفاهیم عمومی 3. ساختار داده ها4. حلقه 5 ساختارهای کنترل 6. اشکال زدایی و مدیریت خطا7. پردازش سیگنال8. منابع LabVIEWConcludIntroduction1. تعریف Python2. اصول برنامه نویسی در پایتون: Data3. اصول برنامه نویسی در پایتون: توابع
7. The Factory Patterns
نیاز به الگوهای کارخانه
The need for factory patterns
الگوی روش کارخانه
The Factory Method pattern
با استفاده از الگوی روش کارخانه
Using the Factory Method pattern
چالش: الگوی کارخانه ساده
Challenge: The simple Factory pattern
راه حل: الگوی کارخانه ساده
Solution: The simple Factory pattern
7. الگوی مجموعه
7. The Collection Pattern
استفاده از تکرار کننده های داخلی جاوا
Using Java's built-in iterators
بررسی الگوی تکرار کننده
Exploring the iterator pattern
اطمینان از اینکه کلاس ها فقط یک مسئولیت دارند
Making sure classes have only one responsibility
تکرار محصور کننده
Encapsulating iteration
پیاده سازی با تکرار کننده های داخلی جاوا
Implementing with Java's built-in iterators
پیاده سازی الگوی تکرار کننده
Implementing the iterator pattern
2. مفاهیم عمومی 3. ساختار داده ها4. حلقه 5 ساختارهای کنترل 6. اشکال زدایی و مدیریت خطا7. پردازش سیگنال8. منابع LabVIEWConcludIntroduction1. تعریف Python2. اصول برنامه نویسی در پایتون: Data3. اصول برنامه نویسی در پایتون: توابع
Conclusion
منابع اضافی
Additional resources
استفاده از الگوهای
Applying patterns
از اینجا به کجا بروم
Where to go from here
نگاهی به آنچه انجام دادهایم و از اینجا به کجا برویم
Looking at what we've done and where to go from here
8. کارخانه ها
8. Factories
درک اصطلاح Simple Factory
Understanding the Simple Factory idiom
کپسوله سازی ایجاد شی
Encapsulating object creation
اجرای الگوی روش کارخانه
Implementing the factory method pattern
بررسی الگوی روش کارخانه
Exploring the factory method pattern
پیاده سازی اصطلاح Simple Factory
Implementing the Simple Factory idiom
نمایش نظرات
Linkedin (لینکدین)
لینکدین: شبکه اجتماعی حرفهای برای ارتباط و کارآفرینی
لینکدین به عنوان یکی از بزرگترین شبکههای اجتماعی حرفهای، به میلیونها افراد در سراسر جهان این امکان را میدهد تا ارتباط برقرار کنند، اطلاعات حرفهای خود را به اشتراک بگذارند و فرصتهای شغلی را کشف کنند. این شبکه اجتماعی به کاربران امکان میدهد تا رزومه حرفهای خود را آپدیت کنند، با همکاران، دوستان و همکاران آینده ارتباط برقرار کنند، به انجمنها و گروههای حرفهای ملحق شوند و از مقالات و مطالب مرتبط با حوزه کاری خود بهرهمند شوند.
لینکدین همچنین به کارفرمایان امکان میدهد تا به دنبال نیروهای با تجربه و مهارت مورد نیاز خود بگردند و ارتباط برقرار کنند. این شبکه حرفهای به عنوان یک پلتفرم کلیدی برای بهبود دسترسی به فرصتهای شغلی و گسترش شبکه حرفهای خود، نقش مهمی را ایفا میکند. از این رو، لینکدین به عنوان یکی از مهمترین ابزارهای کارآفرینی و توسعه حرفهای در دنیای امروز مورد توجه قرار دارد.
الیزابت علاقه زیادی به ایجاد تجربه های یادگیری برای افراد دارد. او از نویسندگان Head First Design Patterns ، Head First HTML و CSS ، Head First JavaScript Programming و Head First HTML5 Programming است. کتاب های او به هشت زبان ترجمه شده است ، و توسط زبان آموزان در سراسر جهان خوانده می شود. اشتیاق دیگر وب است: او دانشجوی دائمی فن آوری های موجود در پشت آن و تحولات اجتماعی جذابی است که آن را امکان پذیر کرده است. او برای اولین بار شروع به ایجاد وب سایت در دوره تحصیلات تکمیلی کرد ، در حالی که مدرک کارشناسی ارشد خود را در علوم کامپیوتر گرفت و از آن زمان در مورد فن آوری های اینترنتی یاد می گیرد و آموزش می دهد. الیزابت در ایالت واشنگتن زندگی می کند ، جایی که از پیاده روی ، دوچرخه سواری و کایاک سواری لذت می برد.
دکتر اریک فریمن نویسنده ، مربی و جانباز صنعت فناوری است.
اریک به عنوان یک دانشمند رایانه آموزش دیده است که در رسانه ها (به عنوان CTO از Disney.com) ، نشر آنلاین (O'Reilly Media) و برنامه فضایی (ناسا) مقام های مختلفی در رسانه ها داشته است. اریک همچنین با داشتن بیش از نیم میلیون کتاب در دوره های چاپی و آنلاین در سکوهای برتر تدریس یکی از پرکاربردترین مدرسین صنعت فناوری است. اریک دارای مدرک دکترا از دانشگاه ییل است.
نمایش نظرات