الگوی سازنده یک الگوی مهندسی نرم افزار به منظور ایجاد اشیا می باشد. این الگو برخلاف الگوی کارخانه انتزاعی ( abstract factory pattern ) و الگوی روش کارخانه ( factory method pattern ) که به منظور رعایت پدیدۀ چندریختی ( polymorphism ) ایجاد شده اند به منظور حل وجۀ دیگری از مشکل ساخت و تنظیم اشیا در برنامه نویسی معرفی شده است. مشکل بدین شرح است که گاهی نیاز است هنگام ساخت یک شی تعداد زیادی پارامتر را به سازندۀ ( constructor ) آن تحویل دهیم و این کار خوانایی برنامه را کم می کند . به منظور حل این مشکل از الگوی سازنده استفاده می کنیم. در این الگو به جای طراحی تعدادی سازنده ( constructor ) با تعداد زیادی پارامتر ، از یک شی دیگر استفاده می کنیم که کار پارامتر دهی را به صورت مرحله به مرحله و خوانا تر انجام می دهد و در نهایت از نوع شی مورد نظر یک نمونه با تنظیمات خواسته شده به ما تحویل می دهد.
معمولاً یک طراح در سیر طراحی٬ ابتدا با الگوی روش کارخانه ( factory method ) شروع می کند سپس به الگوی کارخانه انتزاعی ( abstract factory ) یا الگوی نمونهٔ اولیه ( prototype ) یا سازنده ( builder ) متوسل می شود . معمولاً هنگامی به الگوی سازنده متوسل می شویم که در فرایند طراحی به انعطاف پذیری بیشتر نیاز پیدا می کنیم.
نیت استفاده از این الگو این است که فرایند ساخت ( construction ) یک شی پیچیده را از کد آن شی ( object representation ) جدا کنیم.
public class StreetMap { private final Point origin; private final Point destination; private final Color waterColor; private final Color landColor; private final Color highTrafficColor; private final Color mediumTrafficColor; private final Color lowTrafficColor; public StreetMap ( Point origin, Point destination, Color waterColor, Color landColor, Color highTrafficColor, Color mediumTrafficColor, Color lowTrafficColor ) { // Required parameters this. origin = origin; this. destination = destination; // Optional parameters this. waterColor = waterColor; this. landColor = landColor; this. highTrafficColor = highTrafficColor; this. mediumTrafficColor = mediumTrafficColor; this. lowTrafficColor = lowTrafficColor; } public static void main ( String args ) { StreetMap map = new StreetMap ( new Point ( 50, 50 ) , new Point ( 100, 100 ) , Color. BLUE, Color. GRAY, Color. RED, Color. YELLOW, Color. GREEN ) ; } } نمونه کد جاوا با استفاده از الگوی سازنده قابل مشاهده است که در این روش می توان به بعضی از پارامترها مقدار اولیه نداد. در این صورت در کلاس Builder برای متغیرها مقدار پیش فرض تعیین می کند.
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفمعمولاً یک طراح در سیر طراحی٬ ابتدا با الگوی روش کارخانه ( factory method ) شروع می کند سپس به الگوی کارخانه انتزاعی ( abstract factory ) یا الگوی نمونهٔ اولیه ( prototype ) یا سازنده ( builder ) متوسل می شود . معمولاً هنگامی به الگوی سازنده متوسل می شویم که در فرایند طراحی به انعطاف پذیری بیشتر نیاز پیدا می کنیم.
نیت استفاده از این الگو این است که فرایند ساخت ( construction ) یک شی پیچیده را از کد آن شی ( object representation ) جدا کنیم.
public class StreetMap { private final Point origin; private final Point destination; private final Color waterColor; private final Color landColor; private final Color highTrafficColor; private final Color mediumTrafficColor; private final Color lowTrafficColor; public StreetMap ( Point origin, Point destination, Color waterColor, Color landColor, Color highTrafficColor, Color mediumTrafficColor, Color lowTrafficColor ) { // Required parameters this. origin = origin; this. destination = destination; // Optional parameters this. waterColor = waterColor; this. landColor = landColor; this. highTrafficColor = highTrafficColor; this. mediumTrafficColor = mediumTrafficColor; this. lowTrafficColor = lowTrafficColor; } public static void main ( String args ) { StreetMap map = new StreetMap ( new Point ( 50, 50 ) , new Point ( 100, 100 ) , Color. BLUE, Color. GRAY, Color. RED, Color. YELLOW, Color. GREEN ) ; } } نمونه کد جاوا با استفاده از الگوی سازنده قابل مشاهده است که در این روش می توان به بعضی از پارامترها مقدار اولیه نداد. در این صورت در کلاس Builder برای متغیرها مقدار پیش فرض تعیین می کند.
wiki: الگوی سازنده