C# Programming Guide
191 subscribers
113 photos
9 videos
14 files
102 links
سلام دوستان در این کانال نکاتی در مورد مسائل پیشرفته در سی شارپ ارائه میشه که مربوط به بیش از 15 سال تجربه ی کاری من هست.
ممنون از اینکه دنبال میکنید.
اگر نکات خاصی به ذهنتون رسید با ادمین در میون بذارید
تماس با ادمین:
@Ali_Visual_Studio
Download Telegram
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
Easy Microservices
Photo
ارث‌بری در رابط کاربری چگونه است؟ آیا قابلیت پیاده‌سازی دارد؟
ارث‌بری در رابط کاربری مانند برنامه‌نویسی نیست و پیاده‌سازی آن به‌مراتب دشوارتر است، چرا که ابزار‌های رابط کاربری هنوز در حال توسعه‌اند و به آن بلوغ نرسیده‌اند که بتوان روی آن‌ها معماری دقیق و کاملی را پیاده کرد.
امروز ما می‌خواهیم یک نمونه از ارث‌بری در رابط کاربری را به شما نشان دهیم تا ببینید که ما در Easy Microservices چگونه این موضوع را حل می‌کنیم.

تصور کنید که ما دو UI Kit قدرتمند MudBlazor و Radzen را در اختیار داریم. هر یک از این کامپوننت‌ها خصوصیات خود را دارند؛ به طور مثال یک دکمه در MudBlazor با نام MudButton و در Radzen با نام RadzenButton معرفی شده است و هر کدام ویژگی‌های خاص خود را دارند.

حال اگر به وابستگی‌ها بپردازیم، فرض کنید کل پروژه را با Radzen توسعه داده‌ایم و بعد متوجه شویم که پشتیبانی از RTL (متن چپ-به‌راست) را ندارد، دیگر چه عملی باید انجام داد؟ آیا باید وقت زیادی صرف کنیم تا کل پروژه را به MudBlazor تبدیل کنیم؟

راه‌حلی که ما ارائه کرده‌ایم به این ترتیب است که ما یک کنترل به نام EasyButton می‌سازیم و سپس آن را برای Radzen و MudBlazor پیاده‌سازی می‌کنیم، دقیقاً همان کاری که در ارث‌بری دو کلاس از یک interface انجام می‌دهیم.

در نتیجه، اگر سیاست‌مان تغییر کند، تنها کافی است که چند خط کد را تغییر دهیم و بین UI Kits جابه‌جا شویم.

شما می‌توانید نمونه پروژه ساده‌ای که من به صورت پیاده‌سازی شده در اینجا توصیف کردم را در گیت‌هاب مشاهده کنید:

https://github.com/EasyMicroservices/UI-Kits/

#inheritance
#csharp
#blazor
#microcomponent
#easymicroservices

@easymicroservice
@easymicroservices
@csharptips
👍2