a730

آموزش اصول SOLID در سی شارپ

کدسل زبان های برنامه نویسی CSharp

لینک کوتاه https://codecell.ir/course/a730
مدرس: سهراب قیصری
تعداد ویدیوها: 5
مدت زمان دوره: 01:22:01
وضعیت دوره: به اتمام رسیده
آخرین بروزرسانی: 1401/05/29
به اشتراک گذاری
نظرات
0
دیگر آموزش های مدرس:
 اصول SOLID در سی شارپ

اصول Solid چیست؟

اصول Solid در سی شارپ از اصول اولیه طراحی هستند. SOLID مجموعه ای از توصیه های طراحی برای ایجاد نرم افزار قابل اعتماد، قابل درک، انعطاف پذیر و قابل نگهداری است.

اصول SOLID توسط مربی و نویسنده علوم کامپیوتر رابرت سی. مارتین (گاهی اوقات "عمو باب" نامیده می شود) در سال 2000 توسعه یافت و به سرعت به یکی از اصلی ترین اجزای طراحی مدرن شی گرا (OOD) تبدیل شد. مخفف SOLID زمانی رایج شد که این اصول در دنیای برنامه نویسی محبوبیت گسترده ای پیدا کردند. در حال حاضر، SOLID هم در توسعه چابک و هم در توسعه نرم افزار تطبیقی پذیرفته شده است.

SOLID مخفف پنج اصل زیر است:

  • Single Responsibility Principle (اصل مسئولیت واحد)
  • Open closed Principle (اصل باز و بسته بودن)
  • Liskov substitution principle (اصل جایگزینی لیسکوف)
  • Interface Segregation Principle (اصل جداسازی اینترفیس)
  • Dependency Inversion Principle (اصل وارونگی وابستگی)

توسعه دهندگان نرم افزار از اصول SOLID برای نوشتن کد تمیز استفاده می کنند.

مشکلات نرم افزاری رایج

اشکال زدایی کلاس ها با مسئولیت های بیش از حد آن ها سخت است. اتصال تنگاتنگ بین کلاس ها، افزودن ویژگی های جدید را به یک چالش تبدیل می کند و باعث نوشتن کدهای تکراری می شود.

راه حل های رایج

  • انتخاب معماری تمیز مناسب برای برنامه، به عنوان مثال MVC، 3-tier، Onion، MVP و غیره. 
  • پیروی از اصول طراحی SOLID.
  •  استفاده از الگوهای طراحی مناسب.

مزایای اصول SOLID چیست؟

  • قابلیت نگهداری(Maintainability)
  • تست پذیری(Testability)
  • انعطاف پذیری(Flexibility)
  • توسعه چابک(Agile development)

اصل Single Responsibility Principle یا مسئولیت واحد (SRP) در Solid

رابرت سی مارتین تعریف اصل Single Responsibility Principle یا مسئولیت واحد در SOLID را در کتاب توسعه نرم افزار چابک، اصول، الگوها و شیوه ها ارائه کرد و بعداً در نسخه سی شارپ کتاب اصول، الگوها و تمرینات چابک در سی شارپ دوباره منتشر شد.

اصل Single Responsibility Principle یا مسئولیت واحد در SOLID توصیه می کند که "هر ماژول نرم افزاری باید تنها یک دلیل برای تغییر داشته باشد". این بدان معنی است که هر کلاس یا ساختار مشابه در کد شما فقط یک کار برای انجام دارد و نباید مانند یک چاقوی سوئیسی چند کار را انجام دهد. وقتی کلاس‌ها کوچک‌تر هستند و حاوی کدهای پاک‌تر هستند، نگهداری آن آسان‌تر است و اگر یک قسمت از سیستم خود را تغییر دهیم، نیازی به ایجاد چندین تغییر دیگر نداریم، زیرا بخشی که تغییر داده‌ایم تنها مسئول یک واحد است. چیز.

در اصطلاح عامیانه، این بدان معنی است که یک کلاس نباید با مسئولیت های متعدد بارگذاری شود و یک مسئولیت واحد نباید در چندین کلاس پخش شود یا با مسئولیت های دیگر مخلوط شود. دلیل آن این است که تغییرات بیشتری در آینده درخواست می شود و در کلاس باید تغییرات بیشتری اعمال شود.

اگر یک کلاس فقط یک مسئولیت داشته باشد، احتمالاً بسیار قوی خواهد بود و بررسی عملکرد آن طبق منطق تعریف شده آسان است. همچنین تغییر در کلاس آسان است زیرا مسئولیت واحد دارد.

اصل  Single Responsibility Principle در SOLID یک مزیت دیگر را به همراه دارد. کلاس‌ها، اجزای نرم‌افزار و ماژول‌هایی که فقط یک مسئولیت دارند، توضیح، پیاده‌سازی و درک آن ها بسیار آسان‌ تر از آنهایی هستند که برای همه چیز راه‌ حل می‌دهند.

این همچنین تعداد باگ ها را کاهش می دهد و سرعت توسعه را بهبود می بخشد و از همه مهمتر زندگی توسعه دهنده را بسیار آسان تر می کند.

مشکلات رایج  عدم استفاده از اصل Single Responsibility Principle یا مسئولیت واحد (SRP) در Solid چیست؟

  • درک و حفظ کد دشوار است
  • تست عملکردها دشوار است و توسعه تست محور را تسهیل نمی کند
  • احتمال تکرار کد بالا

مزایای استفاده از اصل Single Responsibility Principle یا مسئولیت واحد (SRP) در Solid چیست؟

  • اگر یک عملکرد واحد خراب شود، به راحتی می دانیم که کدام کلاس دارای اشکال است.
  • درک و پیاده سازی کلاس ها بسیار ساده تر از کلاس هایی با چند عملکرد خواهد بود.
  • ما به راحتی می توانیم رفتار یک تابع را با ویرایش تک کلاسی که مسئول آن است تغییر دهیم.

اصل Open closed Principle یا اصل باز و بسته(OCP) در Solid چیست؟

اصل Open closed Principle یا اصل باز و بسته بودن در SOLID توصیه می کند که "یک ماژول یا کلاس نرم افزار باید برای توسعه باز و برای اصلاح بسته باشد". این بدان معناست که برای نیازهای جدید، ماژول های نرم افزار را با رفتارهای جدید گسترش می دهیم و نباید کد موجود را به جز رفع اشکال تغییر دهیم.

برتراند مایر عموماً به دلیل ابداع تعریف اصل باز و بسته بودن در SOLID در کتاب ساخت نرم افزار شی گرا شناخته می شود.

این اصل نشان می دهد که کلاس باید به راحتی گسترش یابد اما نیازی به تغییر پیاده سازی های اصلی آن نیست.

برنامه یا نرم افزار باید برای تغییر انعطاف پذیر باشد. نحوه اجرای مدیریت تغییر در یک سیستم تأثیر بسزایی در موفقیت آن برنامه/نرم افزار دارد. OCP بیان می کند که رفتارهای سیستم را می توان بدون نیاز به تغییر پیاده سازی موجود آن گسترش داد.

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

مشکلات رایج عدم استفاده از اصل Open closed Principle یا اصل باز و بسته بودن در Solid چیست؟

  • افزودن ویژگی‌های جدید می‌تواند باگ‌هایی را ایجاد کند و نیاز به تست مجدد برنامه موجود و همچنین ویژگی‌های جدید دارد.
  • پیاده سازی تمام ویژگی ها در یک کلاس، تعمیر و نگهداری کلاس را بسیار سخت می کند.
  • تغییراتی که در بسیاری از ماژول‌های برنامه وجود دارد.

مزایای استفاده از اصل Open closed Principle یا اصل باز و بسته بودن در Solid چیست؟

  • نگهداری کد آسان تر است زیرا ریسک شکست اجرای موجود را کاهش می دهد.
  • احتمال کمتری برای بروز مشکلات در پایگاه کد وجود دارد.
  • اطمینان حاصل می کنید که تغییرات جدید روی والد یا هر کلاس مشتق شده دیگری تأثیر نخواهد گذاشت.

اصل Liskov substitution یا جایگزینی لیسکوف(LSP) در Solid چیست؟

اصل جایگزینی لیسکوف (LSP) در SOLID بیان می کند که "شما باید بتوانید از هر کلاس مشتق شده به جای کلاس والد استفاده کنید و از آن بخواهید بدون تغییر به همان شیوه رفتار کند". توصیه می کند که هر کلاس مشتق شده باید کاملاً با کلاس والد قابل تعویض باشد. "قابلیت جایگزینی هر نمونه ای از یک کلاس والد با نمونه ای از یکی از کلاس های فرزند آن بدون عوارض جانبی منفی".

اصل جایگزینی لیسکوف (LSP) تعریفی از یک رابطه فرعی است که زیرمجموعه رفتاری نامیده می‌شود و اولین بار توسط باربارا لیسکوف در سخنرانی یک کنفرانس در سال 1987 با عنوان انتزاع داده‌ها و سلسله مراتب معرفی شد.

LSP بیان می کند که کلاس فرزند باید کاملاً قابل جایگزینی برای کلاس والد آنها باشد. اگر کلاس C از P مشتق شده باشد، C باید جایگزین P شود.

ما می توانیم با استفاده از LSP بررسی کنیم که وراثت در کد ما به درستی اعمال شده است یا خیر.

LSP یک اصل اساسی از اصول SOLID است و بیان می کند که اگر برنامه یا ماژول از کلاس پایه استفاده می کند، کلاس مشتق شده باید بتواند کلاس پایه خود را بدون تغییر پیاده سازی اصلی خود گسترش دهد.

مشکلات رایج عدم استفاده از اصل Liskov substitution یا جایگزینی لیسکوف در Solid چیست؟

  • شکست پلی مورفیسم کد مشتق شده غیر قابل تعویض
  • معمولاً کد کلاینت انتظار دارد که کلاس های فرزند قابل جایگزینی با کلاس های پایه خود باشند
  • استفاده از دستورهای if-then یا switch برای حل مشکلات قابلیت جایگزینی ، تعمیر و نگهداری را سخت تر می کند

مزایای استفاده از اصل Liskov substitution یا جایگزینی لیسکوف در Solid چیست؟

  • کد غیر قابل جایگزینی چندریختی یا پلی مورفیسم را نقض می کند
  • امکان استفاده صحیح از پلی مورفیسم را فراهم می کند

اصل Interface Segregation Principle یا جداسازی اینترفیس ها(ISP) در Solid چیست؟

اصل تفکیک اینترفیس یا Interface Segregation Principle در Solid بیان می کند که کلاینت ها نباید مجبور به پیاده سازی اینترفیس هایی شوند که استفاده نمی کنند. بنابراین به جای اینترفیس های بزرگ، بهتر است چندین اینترفیس کوچک ایجاد کنید تا به بهترین شکل ممکن از آنها استفاده شود.

اصل ISP در SOLID اولین بار توسط رابرت سی مارتین در حین مشاوره برای زیراکس استفاده و فرموله شد.

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

با استفاده از ISP، ما می توانیم برای هر عملیات یا به جای داشتن یک کلاس واحد برای انجام همان کار، اینترفیس های جداگانه ایجاد کنیم.

مشکلات رایج عدم استفاده از اصل Interface Segregation Principle یا جداسازی اینترفیس ها در Solid چیست؟

  • وابستگی بیشتر به معنای کوپلینگ بیشتر، کد شکننده تر و تست بیشتر است
  • نقض تفکیک اینترفیس ها منجر به کلاس هایی می شود که به چیزهایی بستگی دارند که آنها به آنها نیاز ندارند.
  • باعث کاهش انعطاف پذیری هنگام افزودن ویژگی های جدید و قابلیت نگهداری می شود

مزایای استفاده از اصل Interface Segregation Principle یا جداسازی اینترفیس ها در Solid چیست؟

  • Abstraction با نشان دادن ضروری ترین جزئیات یک شی از طریق یک اینترفیس، امنیت برنامه را افزایش می دهد
  • یک کلاس می تواند چندین اینترفیس را که با کاما از هم جدا می شوند را پیاده سازی کند
  • یک اینترفیس به عنوان یک قرارداد عمل می کند که کلاس ها را مجبور به پیاده سازی تمام متد ها می کند.

اصل Dependency Inversion Principle یا وارونگی وابستگی(ِDIP) در Solid چیست؟

اصل Dependency Inversion Principle یا وارونگی وابستگی (DIP) در Solid بیان می‌کند که ماژول‌ها/کلاس‌های سطح بالا نباید به ماژول‌ها/کلاس‌های سطح پایین وابسته باشند. هر دو باید به انتزاعات بستگی داشته باشند. ثانیاً، انتزاعات نباید به جزئیات بستگی داشته باشند. جزئیات باید به انتزاعات بستگی داشته باشد.

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

اصطلاحات تزریق وابستگی (DI) و وارونگی کنترل (IoC) معمولاً به جای یکدیگر برای بیان یک الگوی طراحی استفاده می‌شوند. این الگو در ابتدا IoC نامیده می شد، اما مارتین فاولر (معروف به طراحی نرم افزار سازمانی) نام آن را DI پیش بینی کرد زیرا همه فریمورک ها زمان اجرا کنترل را به نوعی معکوس می کنند و او می خواست بداند کدام جنبه از کنترل معکوس شده است.

Inversion of Control (IoC) تکنیکی برای پیاده سازی Dependency Inversion Principle در سی شارپ است. وارونگی کنترل را می توان با استفاده از یک کلاس انتزاعی یا اینترفیس پیاده سازی کرد.. این تکنیک وابستگی بین موجودیت ها را حذف می کند.

مزایای استفاده از اصل Dependency Inversion Principle یا وارونگی وابستگی در Solid چیست؟

  • Abstraction با نشان دادن ضروری ترین جزئیات یک شی از طریق یک اینترفیس، امنیت برنامه را افزایش می دهد
  • یک کلاس می تواند چندین اینترفیس را که با کاما از هم جدا می شوند را پیاده سازی کند.

سرفصل های دوره آموزش رایگان اصول SOLID در سی شارپ

  • آموزش و پیاده سازی عملی اصل Single Responsibility Principle یا مسئولیت واحد(SRP) از SOLID در سی شارپ
  • آموزش و پیاده سازی عملی اصل Open closed Principle یا اصل باز و بسته بودن(OCP) از SOLID در سی شارپ
  • آموزش و پیاده سازی عملی اصل Liskov substitution یا جایگزینی لیسکوف (LSP) از SOLID در سی شارپ
  • آموزش و پیاده سازی عملی اصل Interface Segregation Principle یا جداسازی اینترفیس ها(ISP) از SOLID در سی شارپ
  • آموزش و پیاده سازی عملی اصل Dependency Inversion Principle یا وارونگی وابستگی(ِDIP) از SOLID در سی شارپ

نتیجه گیری

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

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

دریافت سورس پروژه آموزش اصول SOLID در سی شارپ
 

فهرست ویدیوها
مدت زمان دوره: 01:22:01
01

آموزش اصل اول SOLID(اصل مسئولیت واحد یا SRP) در سی شارپ

00:15:38
02

آموزش اصل دوم SOLID(اصل باز و بسته بودن یا OCP) در سی شارپ

00:15:21
03

آموزش اصل سوم SOLID(اصل جایگزینی لیسکوف یا LSP) در سی شارپ

00:16:44
04

آموزش اصل چهارم SOLID(اصل جداسازی اینترفیس ها یا ISP) در سی شارپ

00:18:24
05

آموزش اصل پنجم SOLID(اصل وارونگی وابستگی یا DIP) در سی شارپ

00:15:54

پرسش های متداول

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

SOLID در سی شارپ مخفف پنج اصل کلیدی طراحی است: اصل مسئولیت واحد، اصل باز-بسته، اصل جایگزینی Liskov، اصل جداسازی رابط، و اصل وارونگی وابستگی. هر پنج مورد معمولاً توسط مهندسان نرم افزار استفاده می شوند و مزایای مهمی را برای توسعه دهندگان فراهم می کنند.

SOLID مخفف پنج اصل اول طراحی شی گرا (OOD) که توسط رابرت سی مارتین (عمو باب) مطرح شد.

در حالی که محاسبات در طول 20 سال از زمان پیدایش اصول SOLID بسیار تغییر کرده است، اما هنوز هم اصول SOLID بهترین روش برای طراحی نرم افزار هستند. اصول SOLID یک روال عالی برای ایجاد نرم افزار با کیفیت است.

مقالات آموزش برنامه نویسی مدرس

Response Caching در ASP.NET Core

Response Caching یک مکانیزم ذخیره سازی پاسخ سرور توسط مرورگر یا سایر کلاینت ها است. با استفاده از Response Caching در Asp.net Core می توانیم عملکرد و کارایی سیستم را بالا ببریم.

669 0 1402/10/22

Output Caching در ASP.NET Core 8.0

Output Caching یک ویژگی جدید است که از زمان .NET 7 معرفی شده است. این ویژگی به ما این امکان را می دهد که به راحتی یک کش پاسخ برای Web API خود بدون پیاده سازی IMemoryCache راه اندازی کنیم.

723 0 1402/10/14

الگوی طراحی زنجیره مسئولیت در سی شارپ

الگوی زنجیره مسئولیت یا Chain of Responsibility Design Pattern یک الگوی طراحی رفتاری(behavioral design pattern) است که اجازه می‌دهد یک درخواست در امتداد زنجیره‌ای از کنترل‌کننده‌های بالقوه ارسال شود تا زمانی که درخواست مناسب برای پردازش آن را پیدا کند.

685 2 1402/10/01

ViewComponent در ASP.NET Core

در ASP.NET Core با استفاده از ViewComponent ها می توان اجزای ماژولار، قابل استفاده مجدد، قابل نگهداری و مقیاس پذیر برای ساخت برنامه های کاربردی وب ایجاد کرد. در این مقاله به نحوه ایجاد و فراخوانی ViewComponent در Asp.net core پرداخته ایم.

1٬431 2 1402/05/15

تطبیق الگو در NET 7: ساده سازی تجزیه و تحلیل داده ها

تطبیق الگو یا Pattern Matching در net7 یک تکنیک قدرتمند برای تجزیه و تحلیل و دستکاری داده ها بر اساس ساختار آن ها است. تطبیق الگو یا Pattern Matching به توسعه دهندگان اجازه می دهد تا مقادیر را با یک الگوی خاص مطابقت دهند و اقدامات مربوطه را انجام دهند.

880 1 1402/04/05

تزریق وابستگی در ASP.NET Core

تزریق وابستگی (DI) یک الگوی طراحی نرم افزاری است که امکان ایجاد برنامه های کاربردی و ماژولار را فراهم می کند.. در .NET Core تزریق وابستگی یا Dependency injection یک ویژگی مهم است که می تواند برای ساده سازی توسعه برنامه، بهبود تست پذیری و کاهش پیچیدگی کد مورد استفاده قرار گیرد.

1٬964 1 1402/02/04

ضروری ترین کتابخانه های NuGet برای ASP.NET Core

در این مقاله مهمترین،ضروری ترین و پرکاربردترین کتابخانه های NuGet که هر توسعه‌ دهنده‌ ASP.NET Core باید برای توسعه بهتر و کاهش زمان مورد نیاز برای برنامه ‌های خود از آن استفاده کنند را مورد بررسی قرار داده ایم.

1٬517 1 1401/12/29

الگوی طراحی Factory در سی شارپ

الگوهای طراحی یکی از مهمترین جنبه های طراحی و معماری نرم افزار است. Factory Method یک الگوی طراحی ایجادی است که یک رابط برای ایجاد اشیاء در یک سوپر کلاس فراهم می‌کند. ما در این مقاله الگوی Factory Method Design در سی شارپ را بررسی می کنیم.

1٬642 1 1401/10/28

مقایسه List و Array در سی شارپ

آرایه و لیست در سی شارپ هر دو به عنوان مجموعه ای از مقادیر عمل می کنند، اما در نحوه ذخیره محتوای خود در حافظه و نحوه دسترسی به آنها متفاوت هستند. در این مقاله Benchmark و کارایی List<T> با سایز داینامیک، List<T> با سایز ثابت و Array ها را بررسی می کنیم.

2٬221 2 1401/09/01

LinkedList در سی شارپ

LinkedList یا لیست پیوندی در سی شارپ یک ساختار داده خطی است که عنصر را در مکان غیر پیوسته ذخیره می کند. LinkedList شامل گره هایی است که هر گره حاوی یک فیلد داده و یک مرجع (پیوند) به گره بعدی در لیست است. در سی شارپ، LinkedList یا لیست پیوندی یک نوع مجموعه جنریک است.

2٬046 0 1401/08/13

Garbage Collection در دات نت

به طور کلی، Garbage Collection (GC) یا جمع آوری زباله در .Net چیزی نیست جز به دست آوردن مجدد حافظه اختصاص داده شده به اشیایی که در حال حاضر در هیچ بخشی از برنامه ما استفاده نمی شوند. ما در این مقاله Garbage Collection را در سی شارپ بررسی خواهیم کرد.

2٬838 5 1401/03/30

.NET Core چیست؟

.Net (با تلفظ «دات نت») یک چارچوب نرم افزاری کامپیوتری مدیریت شده رایگان و منبع باز برای سیستم عامل های ویندوز، لینوکس و macOS است. این پروژه در درجه اول توسط کارمندان مایکروسافت از طریق دات نت توسعه یافته و تحت مجوز MIT منتشر شده است.

2٬587 2 1401/03/16

پشته(Stack) در سی شارپ

پشته یا Stack در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء است. پشته یک ساختار داده LIFO یا Last-In-First-Out است، به این معنی که آخرین موردی که در پشته قرار می گیرد اولین موردی است که از پشته خارج می شود.

2٬187 0 1401/03/09

صف (Queue) در سی شارپ

صف (Queue) در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء است. Queue یک ساختار داده first-in-first-out یا FIFO است که به این معنی است که اولین مورد اضافه شده به صف اولین موردی است که حذف می شود.

2٬162 0 1401/02/30

تفاوت Hashtable و Dictionary در سی شارپ

در سی شارپ از Hashtable و Dictionary می توان برای ذخیره مجموعه‌ای از داده‌ها، شبیه به List معمولی استفاده کرد. با این تفاوت که Hashtable و Dictionary عناصر را به عنوان جفت Key/Value ذخیره می کنند.در این مقاله به تفاوت های Hashtable و Dictionary پرداخته شده است.

1٬843 1 1401/02/23

Dictionary در سی شارپ

در سی شارپ از دیکشنری ها (Dictionary) می‌توان برای ذخیره مجموعه‌ای از داده‌ها، شبیه به List معمولی استفاده کرد. تفاوت اصلی این است که یک Dictionary می تواند عناصر را به عنوان جفت Key/Value ذخیره کند.Key ها باید منحصر به فرد و نمی توانند null باشند. Value ها می توانند تکراری یا null باشند.

2٬249 3 1401/02/17

Hashtable در سی شارپ

از Hashtable می‌توان برای ذخیره مجموعه‌ای از داده‌ها، شبیه به List معمولی استفاده کرد. تفاوت اصلی این است که یک Hashtable می تواند عناصر را به عنوان جفت Key/Value به عنوان جایگزینی برای استفاده از Index ذخیره کند.

1٬721 5 1401/02/14

Redirect درخواست (ریدایرکت) در asp.net core

در برنامه های ASP.NET Core برای تغییر مسیر(ریدایرکت) و Redirect به یک URL خاص روش های مختلفی وجود دارد. در این مقاله با این تکنیک ها و کدهای مورد نیاز برای تغییر مسیر یک درخواست در ASP.NET Core آشنا می شویم.

2٬562 5 1401/02/12

تبدیل enum به لیست انتخابی در asp.net core

در این آموزش ما بوسیله Reflection ها در سی شارپ و asp.net core یک enum را به لیست انتخابی یا SelectListItem تبدیل خواهیم کرد و بوسیله تگ select در بوت استرپ 5 نمایش می دهیم.

1٬753 3 1401/02/03

نحوه ارسال ایمیل در asp و c#

امروزه ارسال ایمیل به امری ضروری در پروژه های وب تبدیل شده است.از ارسال ایمیل در asp می توان در بخش های تایید حساب کاربری،بازیابی رمز عبور،ایمیل مارکتینگ،ارسال خبرنامه و ... استفاده نمود.در این آموزش نحوه ارسال ایمیل در asp core و سی شارپ پیاده سازی گردیده است.

2٬582 5 1401/02/03
نظرات

برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید