Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب
9.31K subscribers
643 photos
353 videos
88 files
793 links
اگر با جاوااسکریپت مشکل داری، این چنل مخصوص خودته 🤝

دوبله بهترین دوره های جاوااسکریپت و ریکت دنیا رایگان:
https://t.me/DeepDevs/2166

پشتیبانی
@softwareenginer_developer
تبلیغات❌️

گروه اصلی برای پرسش و پاسخ:
@DeepDevsGpOriginal

گروه چت:
@InstaDevsGp
Download Telegram
#هشتگ

هشتگ های چنل که باهاشون میتونید راحت مطالب مورد نظرتون رو پیدا کنید:

چالش های چنل:
#js_challenge
#your_challenge
#quick_challenge

حتما توی یوتیوب هم مارو دنبال کنید:
YouTube

لینک شبکه هایی که داخلشون اپیزودهای پادکست #برنامه_نویس_آگاه منتشر میشه:
CastBox
Google Podcasts
Spotify

هشتگ های مربوط به دوره های دوبله شده:
#Course
#JavaScript
#Jonas_Schmedtmann
#S01 #S02 ....
#E01 #E02 ....

اگر هم میخواید که به فایل زیپ دوبله فصل های مختلف دسترسی داشته باشید میتونید از ربات استفاده کنید:
@jschallenges_chat

جواب چالش ها:
#answer

آموزش های کوتاه (عموما کمتر از ده دقیقه):
#js_nuggets

سطوح چالش های چنل:
#easy
#easy_to_medium
#medium
#medium_to_hard
#hard


تیپ و تیریک ها:
#Tips_N_Tricks
#VSCode_Extension
#Around_JS
#VsCode

موضوع های مختلف جاوااسکریپت (به این هشتگ ها به مرور اضافه میشه):
#arrays
#objects
#function
#async_await
#loops
#parsing_data
#short_circuiting
#object_destructuring
#promises
#error_handling
#fetch
#api
#NPM
#dates
#Clean_Code
#GitHub
#Git
#Design_Patterns
#DOM
#oop
#Package_Managers
#Timing

مطالب خارج از محیط IDE:
#Out_Of_IDE
#Music
#Fun

آیدی چنل:
@js_challenges
آیدی گروه چنل:
@js_masters_gp
👍13
#Design_Patterns

الگوهای طراحی به سه دسته تقسیم می‌شوند، به شرح زیر:
الگوهای طراحی ساختاری (Creational Design Patterns)
☑️Abstract Factory (کارخانه انتزاعی):
ایجاد یک نمونه از چند خانواده کلاس.
☑️Builder (سازنده):
جدا کردن ساخت شیء از نمایش آن.
☑️Factory Method (متد کارخانه):
ایجاد یک نمونه از چند کلاس مشتق‌شده.
☑️Prototype (نمونه):
یک نمونه کامل شده برای کپی یا کلون.
☑️Singleton (تک نمونه):
یک کلاس که تنها یک نمونه از آن ممکن است وجود داشته باشد.
🛑ادامه توضیحات در کامنت ها🛑

💫دوستان دیزاین پترن ها خیلی مباحث مهم و کاربردی هستن و من سعی میکنم هر روز یه نوع از دیزاین پتنرهارو بذارم براتون.💫

👍و انتشار فراموش نشه 🤟

راستی ساعت یک قسمت بعدی دوبله جوناس میاد یادتون نره ✌️
@js_challenges
@js_masters_gp
🔥10👍1
#Design_Patterns

⚠️الگوی Singleton یک الگوی طراحی است که اطمینان حاصل می‌کند یک کلاس تنها یک نمونه داشته باشد و این نمونه به سایر قسمت‌های برنامه قابل دسترسی باشد. این الگو معمولاً وقتی که یک نمونه از یک کلاس برای مدیریت یک منبع مشترک یا تنظیمات مورد نیاز استفاده می‌شود.⚠️
در مثال داخل عکس :
متد سازنده (constructor) کلاس Singleton بررسی می‌کند که آیا نمونه از کلاس قبلاً ایجاد شده است یا خیر.
اگر هنوز نمونه ایجاد نشده باشد، یک نمونه جدید ایجاد شده و به عنوان Singleton.instance ذخیره می‌شود.
اگر قبلاً یک نمونه ایجاد شده باشد، نمونه موجود به جای ایجاد یک نمونه جدید برگردانده می‌شود.
به این ترتیب، تمام کدهایی که به این کلاس دسترسی پیدا می‌کنند، همیشه با یک نمونه از آن سروکار دارند. این کمک می‌کند تا تنظیمات و منابع اشتراکی تنها یک‌بار مقداردهی شوند و از تکرار غیرضروری جلوگیری شود.

دوستان دیزاین پترن ها خیلی مباحث مهم و کاربردی هستن و من سعی میکنم هر روز یه نوع از دیزاین پتنرهارو بذارم براتون.

👍و انتشار فراموش نشه 🤟
@js_challenges
@js_masters_gp
👍11🔥2
#Design_Patterns

⚠️الگوی Factory یک الگوی طراحی است که به شما اجازه ایجاد شیء در یک روش مشخص وابسته به محیط فراهم می‌کند. این الگو به شما این امکان را می‌دهد که ایجاد شیء را از جزئیات ایجاد جدا کنید، به طوری که کدی که یک شیء را ایجاد می‌کند، از جزئیات وابسته به ایجاد فاصله گرفته باشد.
به عبارت دیگر، الگوی Factory کار ساخت یک شیء را از کاربر جدا می‌کند و به یک کارخانه (Factory) سپرده می‌شود تا تصمیم بگیرد چه نوع شیء‌ای را بسازد.⚠️
در مثال داخل عکس :
کلاس Product یک کلاس ساده است که یک شیء با یک ویژگی به نام name ایجاد می‌کند.
کلاس ProductFactory یک Factory است که مسئول ایجاد شیء Product است. متد createProduct این کلاس یک نمونه از Product ایجاد کرده و آن را برمی‌گرداند.
در نهایت، با ایجاد یک نمونه از ProductFactory و فراخوانی createProduct، یک نمونه از Product ساخته می‌شود.

🏁 استفاده از الگوی Factory به شما این امکان را می‌دهد که بدون تغییر در کد مصرف‌کننده، نوع شیء را به راحتی تغییر دهید و از تغییرات جزئی در پیاده‌سازی محافظت کنید. 🏁

👍و انتشار فراموش نشه 🤟
@js_challenges
@js_masters_gp
🔥71👍1
#Design_Patterns

⚠️الگوی Observer یک الگوی طراحی است که برقراری رابطه یک به چند بین اشیاء را فراهم می‌کند. در این الگو، یک شیء معروف به "Subject" (موضوع) تغییراتی را اعلام می‌کند و اشیاء دیگری که به آن مشترک هستند (معروف به "Observers") از تغییرات مطلع می‌شوند و واکنش نشان می‌دهند.⚠️
در مثال داخل عکس :
کلاس Subject یک موضوع را نمایش می‌دهد. این موضوع دارای یک لیست از مشاهده‌گرها (observers) است و متدهای subscribe، unsubscribe و notify را دارد.
کلاس Observer یک مشاهده‌گر را نمایش می‌دهد. این مشاهده‌گر دارای یک متد به نام update است که وظیفه نمایش اطلاعات دریافتی را دارد.
در نهایت، با ایجاد یک موضوع و چند مشاهده‌گر، مشاهده‌گرها با فراخوانی notify از تغییرات در موضوع مطلع شده و به‌روزرسانی‌های متفاوت نمایش داده می‌شوند.

🏁 االگوی Observer به کاربران این امکان را می‌دهد که بدون وابستگی به ساختار داخلی یک شیء، به تغییرات آن شیء واکنش نشان دهند. این بهبود از لحاظ انعطاف‌پذیری و جداسازی اجزا در برنامه‌نویسی به اصطلاح "Loose Coupling" نامیده می‌شود. 🏁

👍و انتشار فراموش نشه 🤟
@js_challenges
@js_masters_gp
🔥5❤‍🔥1
#Design_Patterns

⚠️الگوی استراتژی یک الگوی طراحی است که امکان تعویض رفتارها یا الگوهای عملکردی مختلف را در یک سیستم فراهم می‌کند. این الگو به اجزای مختلف یک الگوی معماری اجازه می‌دهد تا در زمان اجرا رفتارهای مختلفی را به کاربردهای مشابه اعمال کنند.

معمولاً این الگو به شکل یک رابط یا کلاسی عمل می‌کند که دسترسی به روش‌های متفاوتی دارد که هر کدام یک رفتار یا راهبرد خاص را ارائه می‌دهند. سپس یک یا چند کلاس دیگر (معمولاً با نام‌هایی مانند ConcreteStrategyA, ConcreteStrategyB, و غیره) این رابط را پیاده‌سازی می‌کنند. هر کدام از این کلاس‌ها یک راهبرد خاص را برای انجام کار ارائه می‌دهند.
در زمان اجرا، شیء مربوطه از نوع رابط استراتژی دریافت می‌کند و می‌تواند رفتار خاص خود را از طریق استفاده از متد‌های موجود در این رابط تعیین کند. این اجازه را به اجزای سیستم می‌دهد تا بر اساس نیاز خود یک استراتژی خاص را انتخاب کرده و از آن استفاده کنند.⚠️
ادامه در کپشن...
👍و انتشار فراموش نشه 🤟
@js_challenges
@js_masters_gp
🔥9👍2❤‍🔥1