دیزاین پترنها، تاریخچه و چرایی آن
سلام! این دفعه تصمیم گرفتم در مجموعهای از پستهای وبلاگ راجع به دیزاین پترنها (Design Patterns) یا همان الگوهای طراحی در برنامه نویسی و حل مساله صحبت کنیم. قبل از هر کاری لازمه اطلاعات اولیهای راجع به چیستی این مبحث بپردازیم.
دیزاین پترنها چه هستند و به چه دردی میخورند؟
دیزاین پترنها راه حلهای متداول با قابلیت استفاده مجدد برای مشکلات رایج در حوزه طراحی نرمافزار هستند. الگوهای طراحی به این خاطر به وجود آمدند تا بهترین راهحلهای ممکن برای مسایل در برنامه نویسی باشند و از این طریق سرعت توسعه نرمافزار رو افزایش بدن. دستورالعملهایی که به ما کمک میکنند ساختار و منطق بهتری بنا به صورت مساله در بخشهای مختلف کدنویسی داشته باشیم، راه حلهایی که از مشکلات بعدی احتمالی (بی آنکه خودمون حتی پیشبینیش کرده باشیم) جلوگیری میکنند.
در نظر داشته باشید هر مسالهای تنها یک راه حل ندارد و میشود از چند راه حل (برای یک مساله) استفاده کرد. این راهحل ها یک کد از پیش نوشته شده نیستند بلکه یک غالب ساختاری هستند که شما بنا به زبانی که با آن کد میزنید و صورت مساله بهترین الگو ( و یا حتی ترکیبی از الگوها ) را انتخاب و از آنها پیروی میکنید.
تا حالا الگوهای طراحی زیادی توسط برنامهنویسان بنا به تجربه شخصی، طراحی و پیادهسازی شدند اما تنها تعدادی از آنها به حالت استاندارد درآمدند و مورد استفاده عمومی قرار گرفتند. پیروی از این استانداردها کمک میکند خوانایی کد برای برنامهنویسانی که با این الگوها آشنا هستند راحتتر شود
این مفهوم از کجا و کی به وجود آمد؟
اولین بار Christopher Alexander در کتابی به نام «A Pattern Language: Towns, Buildings, Construction» به توضیح این مفهوم پرداخت. بعد از آن افرادی با نامهای Erich Gamma ،John Vlissides ،Ralph Johnson و Richard Helm که به گنگ چهار تایی (Gof) معروفند از این کتاب ایده گرفتند و «Design Patterns: Elements of Reusable Object-Oriented Software» را نوشتند که در آن چیزی حدود ۲۳ الگوی برای حل مسایل شیگرایی معرفی کردند.
با من همراه باشید چون قراره در قسمتهای بعد بریم سراغ تشریح و بررسی کاربرد چند تا از این الگوها 🙂
یک پاسخ یا دیدگاه بنویسید