آموزش کار با الگوهای طراحی در Go (Golang)

Working with Design Patterns in Go (Golang)

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: با یادگیری نحوه اجرای الگوهای طراحی رایج در Go، توسعه خود را ساده کنید. نحوه استفاده از الگوهای طراحی متداول در Go ساده سازی فرآیند توسعه نرم افزار با استفاده از الگوهای شناخته شده آموزش ساخت اجزای نرم افزاری با جفت آزاد ساختن یک برنامه کاربردی واقعی با استفاده از الگوهای طراحی پیش نیازها: آشنایی با زبان برنامه نویسی Go الزامی است.

Go یک زبان قدرتمند برای ساخت برنامه های کاربردی کارآمد و مقیاس پذیر است. اما همانطور که پروژه‌های شما رشد می‌کنند، با مشکلات رایجی مواجه می‌شوید که می‌توان آن‌ها را با الگوهای طراحی به زیبایی حل کرد.

این دوره شما را به دانش و مهارت هایی مجهز می کند تا از این الگوهای طراحی به طور موثر در کد Go خود استفاده کنید. ما دسته‌های مختلفی از الگوها را بررسی می‌کنیم، از جمله:

  • الگوهای خلاقانه: تکنیک‌هایی را برای ایجاد شی که انعطاف‌پذیری و جداسازی را ارتقا می‌دهند، بیاموزید.

  • الگوهای ساختاری: راه‌هایی برای ترکیب کلاس‌ها و اشیاء برای دستیابی به عملکرد دلخواه کشف کنید.

  • الگوهای رفتاری: الگوهایی را کاوش کنید که ارتباط و تعامل بین اشیاء را تعریف می کنند.

با درک این الگوها، این توانایی را به دست خواهید آورد:

  • کد تمیزتر، قابل نگهداری تر و قابل استفاده مجددتر بنویسید.

  • طراحی و معماری برنامه های Go خود را بهبود بخشید.

  • چالش های رایج برنامه نویسی را با راه حل های اثبات شده حل کنید.

  • مفاهیم طراحی را به طور مؤثرتری با سایر توسعه دهندگان ارتباط برقرار کنید.

ما با یک لنز عملی به الگوهای طراحی نزدیک می‌شویم و روی سناریوهای Go در دنیای واقعی تمرکز می‌کنیم. در واقع، ما یک برنامه وب ساده می‌سازیم که به ما امکان می‌دهد ببینیم چگونه، چرا و چه زمانی می‌توانید از یک الگوی طراحی خاص استفاده کنید تا کد خود را کارآمدتر، قابل نگهداری و درک آسان‌تر کنید. هدف من این است که اطمینان حاصل کنم که در اجرای این الگوها تجربه عملی کسب خواهید کرد تا بتوانید از آنها در پروژه های خود استفاده کنید.

بنابراین، چه یک برنامه‌نویس باتجربه Go باشید و چه تازه شروع به کار با این زبان کرده‌اید، این دوره ابزارهای ارزشمندی را در اختیار شما قرار می‌دهد تا مهارت‌های توسعه Go خود را به سطح بعدی ارتقا دهید.



سرفصل ها و درس ها

معرفی Introduction

  • معرفی Introduction

  • کمی در مورد من A bit about me

  • در حال نصب Go Installing Go

  • نصب یک محیط توسعه یکپارچه Installing an Integrated Development Environment

  • نصب Docker Installing Docker

  • درخواست کمک Asking for Help

  • اشتباهات. همه ما آنها را می سازیم. Mistakes. We all make them.

راه اندازی یک برنامه وب ساده Setting up a Simple Web Application

  • آنچه در این بخش خواهیم ساخت What we'll build in this section

  • برنامه های کاربردی وب چگونه کار می کنند How web applications work

  • راه اندازی برنامه اصلی ما Setting up our main application

  • نصب بسته مسیریابی Installing a routing package

  • راه اندازی مسیرها Setting up routes

  • راه اندازی یک قالب ساده HTML Setting up a simple HTML template

  • ایجاد تابع رندر Creating a render function

  • رندر صفحه اول ما Rendering our first page

  • اضافه کردن ناوبری Adding navigation

  • ایجاد قالب برای تمامی صفحات سایت Creating templates for all site pages

  • تنظیم مسیر و کنترلر برای صفحات سایت Setting up a route & handler for site pages

  • در حال آزمایش کش الگوی ما Trying out our template cache

  • افزودن تصاویر WebP و jpeg به صفحه اصلی Adding WebP and jpeg images to the home page

الگوهای کارخانه Factory Patterns

  • آنچه در این بخش خواهیم ساخت What we'll build in this section

  • الگوی کارخانه The Factory Pattern

  • راه اندازی برخی از انواع Setting up some types

  • ایجاد یک کارخانه ساده Creating a simple Factory

  • ایجاد کنترل کننده برای کارخانه ساده Creating handlers for the simple Factory

  • راه اندازی قسمت جلویی Setting up the front end

  • اضافه کردن مسیرها برای کنترل کنندگان کارخانه ما Adding routes for our Factory handlers

  • در حال آزمایش الگوی کارخانه ما Trying our Factory pattern out

  • الگوی کارخانه انتزاعی The Abstract Factory pattern

  • ایجاد یک کارخانه انتزاعی Creating an Abstract Factory

  • ایجاد مسیر و کنترلر برای Abstract Factory Creating a route and handler for the Abstract Factory

  • به روز رسانی قسمت جلویی Updating the front end

  • در حال آزمایش کارخانه Abstract ما Trying out our Abstract Factory

اتصال به پایگاه داده Connecting to a Database

  • آنچه در این بخش خواهیم ساخت What we'll build in this section

  • اضافه کردن یک ماژول برای پشتیبانی از MySQL/MariaDB Adding a module to support MySQL/MariaDB

  • راه اندازی یک نمونه MariaDB محلی با Docker Setting up a local MariaDB instance with Docker

  • در حال اتصال برنامه ما به MariaDB Connecting our application to MariaDB

الگوی مخزن The Repository Pattern

  • آنچه در این بخش خواهیم ساخت What we'll build in this section

  • نوشتن اولین تابع پایگاه داده ما Writing our first database function

  • ایجاد یک کنترل کننده برای فهرست کردن نژادهای سگ Creating a handler to list dog breeds

  • در حال به روز رسانی قسمت جلویی برای دریافت لیستی از نژادهای سگ Updating the front end to fetch the list of dog breeds

  • به روز رسانی قسمت جلویی برای نمایش لیست نژادهای سگ Updating the front end to display the list of dog breeds

  • نوشتن یک تست برای کنترل کننده ما Writing a test for our handler

  • پیاده سازی الگوی Repository I Implementing the Repository pattern I

  • پیاده سازی الگوی مخزن II Implementing the Repository pattern II

  • پیاده سازی الگوی مخزن III Implementing the Repository pattern III

  • امتحان کردن چیزها Trying things out

  • پیاده سازی مخزن پایگاه داده آزمایشی Implementing a test database repository

  • در حال به روز رسانی تست کنترل کننده ما Updating our handler test

الگوی سینگلتون The Singleton Pattern

  • آنچه در این بخش خواهیم ساخت What we'll build in this section

  • ایجاد یک سینگلتون ساده Creating a simple Singleton

  • در حال به روز رسانی پروژه ما برای استفاده از بسته پیکربندی ما (تک تک) Updating our project to use our configuration package (singleton)

الگوی سازنده و رابط روان Builder Pattern & Fluent Interface

  • آنچه در این بخش خواهیم ساخت What we'll build in this section

  • الگوی سازنده (و رابط روان) The Builder Pattern (& Fluent Interface)

  • شروع با الگوی Builder در پروژه ما Getting started with the Builder pattern in our project

  • در حال تنظیم کد سازنده ما Setting up our Builder code

  • رفع سه مشکل با کد سازنده ما Fixing three problems with our Builder code

  • راه اندازی یک کنترل کننده برای استفاده از الگوی سازنده ما Setting up a handler to use our Builder pattern

  • راه‌اندازی مسیری برای هدایتگر ما Setting up a route to our handler

  • در حال تغییر قسمت جلویی برای فراخوانی مسیر سازنده ما Modifying the front end to call our Builder route

  • چالش Challenge

  • راه حلی برای چالش Solution to challenge

الگوی آداپتور Adapter Pattern

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • الگوی آداپتور - نمای کلی The Adapter Pattern - Overview

  • نصب یک برنامه کاربردی برای سرویس JSON و XML Installing an application to serve JSON and XML

  • تنظیم نوع آداپتور و Adaptee Setting up the Adapter type & the Adaptee

  • افزودن آداپتور به پیکربندی برنامه ما Adding the Adapter to our application config

  • راه اندازی یک هندلر Setting up a handler

  • افزودن مسیر Adding a route

  • به روز رسانی قالب Cat Breeds Updating the Cat Breeds template

  • تغییر آداپتورها از JSON به XML Switching adapters from JSON to XML

  • با استفاده از الگوی آداپتور ما، آزمایشی برای کنترل گر نژاد گربه اضافه کنید Adding a test for the Cat Breeds handler, using our adapter pattern

همه را با هم جمع کردن Bringing it all together

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • ایجاد یک کنترل کننده AnimalFromAbstractFactory خرد Creating a stub AnimalFromAbstractFactory handler

  • ایجاد یک عملکرد کارخانه جدید برای حیوان خانگی با نژاد جاسازی شده Creating a New factory function for pet with embedded breed

  • ایجاد روش خرد جدیدPetWithBreed برای گربه ها و سگ ها Creating stub newPetWithBreed method for Cats and Dogs

  • افزودن متد GetDogBreedByName در مخزن پایگاه داده Adding a GetDogBreedByName method in the database Repository

  • Refactoring adapters.go به بسته جدید Refactoring adapters.go to new package

  • افزودن یک متد GetCatBreedByName در آداپتور JSON Adding a GetCatBreedByName method on our JSON adapter

  • افزودن یک متد GetCatBreedByName روی آداپتور XML ما Adding a GetCatBreedByName method on our XML adapter

  • در حال تکمیل کد جدید Adapter و Abstract Factory Finishing up the new Adapter and Abstract Factory code

  • در حال تکمیل تغییرات در Abstract Factory برای استفاده از آداپتورهای جدید Finishing up the changes in our Abstract Factory to use the new adapters

  • راه‌اندازی مسیری برای کنترل‌کننده خرد ما Setting up a route to our stub handler

  • در حال تکمیل کد کنترل کننده Finishing off the handler code

  • به‌روزرسانی قسمت جلویی برای امتحان کردن چیزها Updating the front end to try things out

  • نوشتن جاوا اسکریپت لازم برای فراخوانی بک اند ما Writing the necessary javascript to call our back end

الگوی دکوراتور The Decorator Pattern

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • تنظیم مسیر و کنترل کننده خرد Setting up a route and a stub handler

  • تنظیم جدول پایگاه داده Setting up the database table

  • اضافه کردن روش های پایگاه داده برای سگ ماه Adding database methods for Dog of Month

  • تکمیل کننده DogOfMonth ما Completing our DogOfMonth handler

  • ایجاد الگوی سگ ماه و امتحان کردن چیزها Creating the Dog of Month template and trying things out

الگوی استخر کارگران The Worker Pool Pattern

  • آنچه در این بخش به آن خواهیم پرداخت What we'll cover in this section

  • نمای کلی استخر کارگران Worker Pool Overview

  • راه اندازی یک Go Workspace برای توسعه ماژول جدید ما Setting up a Go Workspace to develop our new module

  • شروع کار با پروژه های App و Streamer Getting started with the App and Streamer projects

  • ایجاد یک تابع کارخانه برای استخر کارگران ما Creating a Factory function for our Worker Pool

  • شروع کار بر روی عملکرد استخر کارگران Getting started on the worker pool functionality

  • تنظیم نوع پردازنده Setting up the Processor type

  • تنظیم عملکرد Pool Setting up the Pool functionality

  • ایجاد ویدیو برای ارسال به استخر کارگران Creating Videos to send to the worker pool

  • ارسال فیلم به استخر کارگران Sending videos to the worker pool

  • پر کردن منطق تابع encode(). Filling in the encode() function's logic

  • امتحان کردن چیزها و ردیابی از طریق اجرای برنامه Trying things out and tracing through program execution

  • نصب ffmpeg Installing ffmpeg

  • اضافه کردن منطق برای رمزگذاری به MP4 Adding logic to encode to MP4

  • در حال امتحان کردن روش EncodeToMP4 Trying out the EncodeToMP4 method

  • اضافه کردن منطق برای رمزگذاری به HLS: قسمت اول Adding logic to encode to HLS: Part One

  • اضافه کردن منطق برای رمزگذاری به HLS: قسمت دوم Adding logic to encode to HLS: Part Two

  • در حال امتحان رمزگذار HLS ما Trying out our HLS encoder

  • افزودن تولید نام فایل تصادفی به ویدیوهای ما Adding random filename generation to our videos

  • در حال آزمایش استخر کارگران ما با چهار ویدیو Trying out our worker pool with four videos

  • اضافه کردن استریمر به پروژه Breeders ما Adding streamer to our Breeders project

نمایش نظرات

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.

آموزش کار با الگوهای طراحی در Go (Golang)
جزییات دوره
10.5 hours
113
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
784
4.8 از 5
دارد
دارد
دارد
Trevor Sawler
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar