الگوی نما ( فساد ) : یک الگوی ساختاری در الگوهای طراحی نرم افزار می باشد که معمولاً در برنامه نویسی شی گرا از آن استفاده می شود. نام آن برگرفته از شباهت آن به مشابه آن در معماری ساختمان نما ( ساختمان ) می باشد.
نما، شیءای است که یک رابط راحت برای دسترسی به قسمت بزرگ و پیچیده ای از کد می باشد. مثل کتابخانه کلاس ها. فساد می تواند:
• استفاده از یک کتابخانه نرم افزاری را آسان تر کند، بفهمد و آن را تست کند. چرا که توابع راحتی برای عملیات های عادی دارد.
• به دلایل مشابهی، خواندن از کتابخانه را راحت تر و امکان پذیرتر می کند.
• کاهش وابستگی به کدهای خارجی مهم ترین وظیفه یک کتابخانه داخلی است، چرا که بیشتر قسمت های کد از نما استفاده می کنند، باعث تغییرپذیری بیشتر در طراحی سیستم می شود.
• بسته مجموعه ای از رابط های برنامه کاربری با طراحی ضعیف، تنها با یک رابط برنامه کاربری ( API ) که از طراحی خوبی برخوردار است.
معمولاً وقتی از الگوی طراحی نما استفاده می شود که سامانه از پیچیدگی زیادی برخوردار است یا فهمیدن آن دشوار است، به خاطر آن که تعداد زیادی از کلاس های دارای وابستگی داخلی یا کلاس هایی که کد آنها در دسترس نباشد وجود داشته باشند. این الگو پیچیدگی یک سامانه بزرگ را مخفی کرده و یک رابط ساده برای مشتری فراهم می کند. معمولاً دارای یک کلاس پوشه بندی ساده است که مجموعه ای از عضوهای مورد نیاز مشتری در آن وجود دارند. این اعضا به جای مشتری نما، به سامانه دسترسی دارند و نحوه پیاده سازی را مخفی می کنند.
معمولاً وقتی که رابط دسترسی راحت تر به یک شیء در سطح پایین تر نیاز باشد از فساد استفاده می شود. [ ۱] همچنین زمانه که پوشه بند ( wrapper ) نیاز است تا یک رابط خاصی را رعایت کند و رفتار چندوجهی ( polymorphic ) را رعایت کند از آداپتور می توان استفاده کرد. توسط دکوراتور می توان رفتار یک واسط را در زمان اجرا تغییر داد.
معمولاً در مواقعی از الگوی نما استفاده می شود که:
• به یک رابط راحت برای دسترسی به یک سامانه پیچیده نیاز است.
• سامانه ای بسیار پیچیده است یا فهمیدن آن دشوار است.
• در یک نرم افزار لایه بندی شده، برای دسترسی به هر لایه، یک ورودی مجزا نیاز باشد و یا
• انتزاع و پیاده سازی یک بخش از سامانه ( subsystem ) به شدت به یکدیگر وابسته باشند.
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفنما، شیءای است که یک رابط راحت برای دسترسی به قسمت بزرگ و پیچیده ای از کد می باشد. مثل کتابخانه کلاس ها. فساد می تواند:
• استفاده از یک کتابخانه نرم افزاری را آسان تر کند، بفهمد و آن را تست کند. چرا که توابع راحتی برای عملیات های عادی دارد.
• به دلایل مشابهی، خواندن از کتابخانه را راحت تر و امکان پذیرتر می کند.
• کاهش وابستگی به کدهای خارجی مهم ترین وظیفه یک کتابخانه داخلی است، چرا که بیشتر قسمت های کد از نما استفاده می کنند، باعث تغییرپذیری بیشتر در طراحی سیستم می شود.
• بسته مجموعه ای از رابط های برنامه کاربری با طراحی ضعیف، تنها با یک رابط برنامه کاربری ( API ) که از طراحی خوبی برخوردار است.
معمولاً وقتی از الگوی طراحی نما استفاده می شود که سامانه از پیچیدگی زیادی برخوردار است یا فهمیدن آن دشوار است، به خاطر آن که تعداد زیادی از کلاس های دارای وابستگی داخلی یا کلاس هایی که کد آنها در دسترس نباشد وجود داشته باشند. این الگو پیچیدگی یک سامانه بزرگ را مخفی کرده و یک رابط ساده برای مشتری فراهم می کند. معمولاً دارای یک کلاس پوشه بندی ساده است که مجموعه ای از عضوهای مورد نیاز مشتری در آن وجود دارند. این اعضا به جای مشتری نما، به سامانه دسترسی دارند و نحوه پیاده سازی را مخفی می کنند.
معمولاً وقتی که رابط دسترسی راحت تر به یک شیء در سطح پایین تر نیاز باشد از فساد استفاده می شود. [ ۱] همچنین زمانه که پوشه بند ( wrapper ) نیاز است تا یک رابط خاصی را رعایت کند و رفتار چندوجهی ( polymorphic ) را رعایت کند از آداپتور می توان استفاده کرد. توسط دکوراتور می توان رفتار یک واسط را در زمان اجرا تغییر داد.
معمولاً در مواقعی از الگوی نما استفاده می شود که:
• به یک رابط راحت برای دسترسی به یک سامانه پیچیده نیاز است.
• سامانه ای بسیار پیچیده است یا فهمیدن آن دشوار است.
• در یک نرم افزار لایه بندی شده، برای دسترسی به هر لایه، یک ورودی مجزا نیاز باشد و یا
• انتزاع و پیاده سازی یک بخش از سامانه ( subsystem ) به شدت به یکدیگر وابسته باشند.
wiki: الگوی نما