برنامه نویسی

برگه تقلب اصول مهندسی نرم افزار

Summarize this content to 400 words in Persian Lang
برگه تقلب اصول مهندسی نرم افزار را به خودم می دادم اگر دوباره برای مصاحبه فنی آماده می شدم

🔰 خواص اسید

اتمی بودن: تراکنش ها همه یا هیچ هستند، به طور کامل تکمیل شده اند یا خیر.
سازگاری: تراکنش ها تضمین می کنند که پایگاه داده در وضعیت معتبر باقی می ماند.
انزوا: معاملات به طور مستقل و بدون تأثیر دیگران انجام می شود.
دوام: تراکنش های تکمیل شده علیرغم شکست، به طور دائم ثبت می شوند.

🠠اصول جامد

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

🠠الگوهای طراحی:

Factory Method: بدون تعیین کلاس دقیق، اشیاء ایجاد کنید.
Abstract Factory: خانواده هایی از اشیاء مرتبط را بدون مشخص کردن کلاس های مشخص آنها ایجاد کنید.
سازنده: اشیاء پیچیده را از طریق یک سری مراحل بسازید.
نمونه اولیه: اشیاء موجود را بدون اطلاع از مشخصات ساخت آنها کپی کنید.
Singleton: اطمینان حاصل کنید که یک کلاس فقط یک نمونه با یک نقطه دسترسی جهانی دارد.
آداپتور: همکاری بین رابط های ناسازگار را فعال کنید.
Bridge: یک انتزاع را از اجرای آن جدا کنید.
ترکیبی: اشیاء را در ساختارهای درختی سازماندهی کنید تا سلسله مراتب بخشی از کل را نشان دهد.
دکوراتور: مسئولیت ها را به صورت پویا به اشیا اضافه کنید.
نما: یک رابط ساده برای یک سیستم پیچیده فراهم کنید.
Flyweight: هزینه ایجاد و مدیریت بسیاری از اشیاء مشابه را کاهش دهید.
پروکسی: کنترل دسترسی به یک شی دیگر، مدیریت عملیات گران قیمت یا پیچیده.
Command: یک درخواست را به عنوان یک شی کپسوله کنید، که امکان پارامترسازی و صف بندی را فراهم می کند.

🟠 اصول طراحی سیستم

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

برگه تقلب اصول مهندسی نرم افزار را به خودم می دادم اگر دوباره برای مصاحبه فنی آماده می شدم

🔰 خواص اسید

  1. اتمی بودن: تراکنش ها همه یا هیچ هستند، به طور کامل تکمیل شده اند یا خیر.
  2. سازگاری: تراکنش ها تضمین می کنند که پایگاه داده در وضعیت معتبر باقی می ماند.
  3. انزوا: معاملات به طور مستقل و بدون تأثیر دیگران انجام می شود.
  4. دوام: تراکنش های تکمیل شده علیرغم شکست، به طور دائم ثبت می شوند.

🠠اصول جامد

  1. مسئولیت منفرد: هر کلاس را به یک مسئولیت محدود کنید.
  2. باز/بسته: کلاس ها باید برای تمدید باز باشند اما برای اصلاح بسته شوند.
  3. جایگزینی Liskov: کلاس های فرعی باید برای کلاس های پایه خود جایگزین شوند.
  4. جداسازی رابط: رابط های کوچک و متمرکز را به رابط های گسترده ترجیح دهید.
  5. وارونگی وابستگی: به جای اجرای عینی، بر انتزاعات تکیه کنید.

🠠الگوهای طراحی:

  1. Factory Method: بدون تعیین کلاس دقیق، اشیاء ایجاد کنید.
  2. Abstract Factory: خانواده هایی از اشیاء مرتبط را بدون مشخص کردن کلاس های مشخص آنها ایجاد کنید.
  3. سازنده: اشیاء پیچیده را از طریق یک سری مراحل بسازید.
  4. نمونه اولیه: اشیاء موجود را بدون اطلاع از مشخصات ساخت آنها کپی کنید.
  5. Singleton: اطمینان حاصل کنید که یک کلاس فقط یک نمونه با یک نقطه دسترسی جهانی دارد.
  6. آداپتور: همکاری بین رابط های ناسازگار را فعال کنید.
  7. Bridge: یک انتزاع را از اجرای آن جدا کنید.
  8. ترکیبی: اشیاء را در ساختارهای درختی سازماندهی کنید تا سلسله مراتب بخشی از کل را نشان دهد.
  9. دکوراتور: مسئولیت ها را به صورت پویا به اشیا اضافه کنید.
  10. نما: یک رابط ساده برای یک سیستم پیچیده فراهم کنید.
  11. Flyweight: هزینه ایجاد و مدیریت بسیاری از اشیاء مشابه را کاهش دهید.
  12. پروکسی: کنترل دسترسی به یک شی دیگر، مدیریت عملیات گران قیمت یا پیچیده.
  13. Command: یک درخواست را به عنوان یک شی کپسوله کنید، که امکان پارامترسازی و صف بندی را فراهم می کند.

🟠 اصول طراحی سیستم

  1. مقیاس پذیری: سیستم هایی را طراحی کنید تا رشد کاربران و داده ها را به آرامی مدیریت کنند.
  2. عملکرد: زمان پاسخ و استفاده از منابع را بهینه کنید.
  3. قابلیت اطمینان: از عملکرد صحیح و مداوم سیستم اطمینان حاصل کنید.
  4. در دسترس بودن: طراحی برای عملکرد تقریباً ثابت.
  5. امنیت: از سیستم ها در برابر دسترسی و آسیب پذیری های غیرمجاز محافظت کنید.
  6. قابلیت نگهداری: به روز رسانی و تعمیر و نگهداری را با حداقل اختلال تسهیل می کند.
  7. ماژولاریت: اجزایی بسازید که می توانند به طور مستقل به روز شوند.
  8. قابلیت استفاده مجدد: طراحی برای اجزای مورد استفاده مجدد در بخش های مختلف سیستم.
  9. تجزیه پذیری: فرآیندهای پیچیده را به بخش های ساده تر و قابل مدیریت تقسیم کنید.
  10. همزمانی: تعاملات را طراحی کنید تا چندین عملیات را به طور همزمان بدون تضاد انجام دهید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا