الکتروهایو

هوش مصنوعی / الکترونیک / برنامه‌نویسی

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

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

الگوهای طراحی Structural چیست؟

الگوهای طراحی Structural چیست؟ - مجله الکتروهایو
در این مقاله می‌خوانید:

زمان تخمینی مطالعه: 3 دقیقه

الگوهای طراحی Structural در مهندسی نرم افزار و برنامه نویسی به نحوه ترکیب کلاس‌ها و اشیاء برای تشکیل ساختارهای بزرگتر مربوط می‌شود، در حالی که این ساختارها را انعطاف‌پذیر و کارآمد نگه می‌دارند. الگوهای کلاس ساختاری(Structural) از وراثت برای ایجاد اینترفیس یا پیاده‌سازی استفاده می‌کنند. در نظر بگیرید که چگونه وراثت چندگانه، دو یا چند کلاس را در یک کلاس ترکیب می‌کنند. همواره نتیجه این عمل کلاسی است که ویژگی‌های کلاس‌های والد خود را ترکیب می‌کند.

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

در ادامه زیر دسته‌های این الگوی طراحی آورده شده است که در مقالات بعدی آنها را به تفکیک تشریح خواهیم کرد:

دسته‌های اصلی الگوهای طراحی Structural

الگوهای طراحی ساختاری دارای هفت زیر دسته اصلی است که در ادامه ذکر شده است:

  • الگوی Adapter : این مورد یک الگوی طراحی ساختاری است که به اشیا با اینترفیس‌های ناسازگار اجازه همکاری با هم را می‌دهد.
  • الگوی Bridge : در واقع Bridge یک الگو است که به شما امکان می‌دهد که یک کلاس بزرگ یا مجموعه‌ای از کلاس‌های نزدیک به هم را به دو سلسله مراتب مجزا تقسیم کنید که شامل دسته انتزاعی و دسته پیاده‌سازی شده است. اسن دسته‌ها می‌توانند مستقل از یکدیگر توسعه یابند.
  • الگوی Composite : الگوی کامپوزیت یک الگوی طراحی ساختاری است که به شما امکان می‌دهد اشیاء را در ساختارهای درختی ترکیب کنید و سپس با این ساختارها به گونه‌ای کار کنید که گویی اشیائی منفرد هستند.
  • الگوی Decorator : دکوراتور یک الگوی Structural است که به شما امکان می‌دهد با قرار دادن این اشیاء در داخل اشیاء لفاف دار مخصوص که حاوی رفتارها هستند، رفتارهای جدیدی را به اشیا بچسبانید.
  • الگوی Facade : در واقع Facade یک الگوی طراحی است که یک رابط ساده برای یک کتابخانه، یک چارچوب یا هر مجموعه پیچیده دیگری از کلاس‌ها ارائه می‌دهد.
  • الگوی Flyweight : این مفهوم به شما امکان می‌دهد اشیاء بیشتری را در داخل مقدار RAM موجود در سیستم جای دهید این کار با به اشتراک گذاشتن قسمت‌های مشترک حالت بین چندین شی به جای نگه داشتن تمام داده‌ها در هر شی، انجام می‌شود.
  • الگوی Proxy : الگوی پروکسی یک الگوی طراحی ساختاری است که به کاربر امکان می‌دهد یک جایگزین یا مکان نگهدار(placeholder) برای یک شی دیگر تهیه کنید. یک پروکسی دسترسی به شی اصلی را کنترل می‌کند و به شما امکان می‌دهد قبل یا بعد از ارسال درخواست به شی اصلی، کاری را انجام دهید.
لوگو الکتروهایو

الکتروهایو در خدمت مخاطبان عزیز می‌باشد. ما در تیم الکتروهایو در تلاش برای تهیه مقالات و مطالب به روز هستیم. لطفا برای مطالب و مقالات بیشتر با ما همراه باشید.

مطالب مرتبط:

داده‌های اسمی Nominal Data - الکتروهایو

داده‌های اسمی Nominal Data چیست؟

داده‌های اسمی(Nominal Data) یکی از اساسی‌ترین انواع داده‌ها در تجزیه و تحلیل داده‌ها است. شناسایی و تفسیر آن در بسیاری از زمینه‌ها از جمله آمار، علوم کامپیوتر، روانشناسی و بازاریابی ضروری است. این مقاله ویژگی‌ها، کاربردها و تفاوت‌های داده‌های اسمی

ادامه مطلب »
مقدمه‌ای بر ژوپیتر نوت‌بوک Jupiter Notebook - سایت الکتروهایو

مقدمه‌ای بر ژوپیتر نوت‌بوک Jupiter Notebook برای یادگیری ماشین

ژوپیتر نوت‌بوک(Jupyter Notebook) یک پلتفرم وب منبع باز است که به توسعه دهندگان اجازه می‌دهد اسنادی را ایجاد و به اشتراک بگذارند که شامل متن روایت، کد زنده، تجسم‌ها و معادلات است. این پلتفرم مبتنی بر تجسم داده‌ها، تمیز کردن

ادامه مطلب »
تفاوت تصویر، عکس و نگاره چیست؟ - سایت الکتروهایو

تفاوت تصویر، عکس و نگاره چیست؟

امروزه، اکثر مردم هنگام بحث در مورد نمایش بصری یک شی در رایانه، تفاوت تصویر، عکس و نگاره را نمی‌دانند و آنها را مترادف هم در نظر می‌گیرند. اما برای ابهام هر یک از این موارد را به صورت زیر

ادامه مطلب »
خزنده وب Web Crawler چیست؟ - سایت الکتروهایو

خزنده وب Web Crawler چیست؟

تعریف خزنده وب خزنده وب یک ربات موتور جستجوی دیجیتال است که از کپی و ابرداده(Metadata) برای کشف و فهرست‌بندی صفحات سایت استفاده می‌کند. این مفهوم همچنین به عنوان ربات عنکبوتی(اسپایدر) نیز نامیده می‌شود، وب کراولرها در وب جهانی (از

ادامه مطلب »
مفهوم SIEM (مدیریت رویداد و امنیت اطلاعات) چیست؟

مفهوم SIEM (مدیریت رویداد و امنیت اطلاعات) چیست؟

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

ادامه مطلب »
داده‌های اسمی Nominal Data - الکتروهایو

داده‌های اسمی Nominal Data چیست؟

داده‌های اسمی(Nominal Data) یکی از اساسی‌ترین انواع داده‌ها در تجزیه و تحلیل داده‌ها است. شناسایی ...

حاشیه‌نویسی متن در هوش مصنوعی - سایت الکتروهایو

حاشیه‌نویسی متن در هوش مصنوعی

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

هوش مصنوعی در باستان شناسی و کاربردهای آن - سایت الکتروهایو

هوش مصنوعی در باستان شناسی چه کاربردهای می‌تواند داشته باشد؟

مکان‌های باستان‌شناسی ممکن است ثابت باشند، اما فرهنگ‌هایی که آنها را تولید کرده‌اند، پویا و ...

با الگوریتم تشخیص اشیاء FCOS آشنا شوید - سایت الکتروهایو

با الگوریتم تشخیص اشیاء FCOS آشنا شوید: تشخیص اشیاء تک مرحله‌ای کاملاً کانولوشنال

تشخیص اشیاء یک کار مهم در بینایی کامپیوتر است که با رسم کادرهای محدود کننده ...

تصویربرداری چند طیفی، دیدی جدید فراسوی نور مرئی - سایت الکتروهایو

تصویربرداری چند طیفی، دیدی جدید فراسوی نور مرئی

تصویربرداری چند طیفی تکنیکی است که نور را در طیف وسیعی از باندهای طیفی، فراتر ...