در مهندسی نرم افزار، الگوهای طراحی ساختاری، الگوهای طراحی هستند که با شناسایی یک راه ساده برای تحقق روابط بین موجودیتها، طراحی را آسان میکنند.
نمونه هایی از الگوهای ساختاری عبارتند از:
الگوی آداپتور: به رابط یک کلاس اجازه میدهد تا توسط رابط دیگری مورد استفاده قرار گیرد. معمولاً با این هدف مورد استفاده قرار می گیرد که بدون تغییر در کد منبع، بتوان استفاده از کلاس های فعلی را مقدور ساخت.
الگوی پل: جداسازی یک انتزاع از اجرای آن به طوری که این دو بتوانند به صورت مستقل تغییر پذیر باشند.[۱]
الگوی کامپوزیت: یک گروه از اشیاء را توصیف میکند که این اشیا به خاطر یکسان بودن نوعشان به یک شکل با آنها رفتار میشود.[۲]
الگوی آذینگر: امکان افزودن رفتار به یک شئ، را فراهم میسازد بی آن که رفتار اشیاء دیگر از همان کلاس تغییر کنند.[۳]
الگوی مگس وزن: تعداد زیادی از اشیاء برای صرفهجویی در حافظه ویژگیهای یکسانشان را به اشتراک میگذارند.
الگوی وکالت: یک کلاس به عنوان رابطی برای یک چیز دیگر عمل میکند.[۴]