PDA

View Full Version : سوال: کمک برای استفاده از الگوهای طراحی (Design Pattern)



OmMiD_MtWo
یک شنبه 14 آذر 1395, 08:30 صبح
با سلام خدمت اساتید
میدونم که شاید مطرح کردن این سوال در این قسمت طبق قوانین سایت نباشد، ولی واقعا چون به کمک نیاز دارم و چند وقتی هست که در رابطه با این سوال سردرگم هستم، خواستم بنده رو یاری کنید که اگر این کار رو انجام بدید واقعا کمک بزرگی به من خواهید کرد.
راستش من تجربه کار با MVC رو دارم و تحت وب برنامه نویسی میکنم ولی تمام پروژه‌هایی که انجام دادم اصولی نبود، یعنی همه کدها بدون الگوهای طراحی پشت کنترلر کد زده می‌شد و الان قصد دارم که در پروژه‌های جدید طبق اصول این کار رو انجام بدم. یعنی با استفاده از معماری چندلایه و استفاده از الگوهای طراحی. معماری چندلایه رو با کمی جستجو در اینترنت متوجه شدم که چه کاری باید انجام بدم ولی در مورد استفاده از الگوهای طراحی خیلی سردرگم هستم، نمیدونم که از کجا باید شروع کنم این الگوها رو استفاده کنم، اول الگوها رو یاد بگیرم بعد پروژه انجام بدم یا داخل پروژه و طبق نیاز به چستجو و یادگیری بپردازم؟ چون الگوهای طراحی خیلی زیاد است، و من با هیچکدوم آشنایی ندارم. واقعا باید همه رو یادگرفت یا طبق نیاز به یادگیری پرداخت؟ از کجا باید فهمید که مثلا برای مدلسازی پایگاه داده در MVC چه الگویی استفاده کنم که مدلسازی تمیز باشد؟ اینکه مثلا از کجا باید فهمید که برای فلان کاری که دارم انجام میدم کدوم الگو رو استفاده کنم بهتر هست؟
قصد انجام پروژه دارم ولی در رابطه با استفاده از این الگوهای طراحی سردرگم هستم. پروژه‌ها شاید آنچنان سنگین نباشند ولی قصد من فقط تمیز نوشتن کدها و استفاده در آینده ست.
واقعا لطف بزرگی در حقم می‌کنید اگر بهم کمک کنید که از کجا باید شروع کنم.
باتشکر

hakim22
یک شنبه 14 آذر 1395, 16:52 عصر
شما همه ی الگوها رو روزنامه وار یکبار مطالعه کنید تا ازکلیات آنها آگاهی پیدا کنید و ابزار کارتون رو بشناسید.

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

هر پروژه ای ارزش صرف وقت و هزینه برای پیاده سازی الگوهارو نداره. همیشه اولیت با نوشتن کد کمتر و ساده تره. تا زمانی که واقعا به مشکل نخوردید و احساس نیاز نکردید دنبال پیاده سازی اونها نباشید.

کم کم و به تجربه الگوهای خوب رو تشخیص میدهید و از اونها استفاده می کنید.

در پیاده سازی هم وسواس نداشته باشید که حتما همه چیز در بهترین حالت ممکن پیاده شده باشه. در هر محصولی حتی اگر تولید معتبرترین شرکتها هم باشه نقص هایی دار.
چون همیشه یک محصول وابسته به زمان و هزینه است.

با داشته هاتون جلو برید و سعی کنید کار رو انجام بدید نگران دانشی که ندارید نباشید. میتوانید پروژه رو بنویسید و بعدا باز بینی کنید. هر برنامه نویسی خودش میدونه که کجای کدش بو میده و اصلاحش کنه. اگر وقت اصلاح نبودید در پروژه بعدی با استفاده از تجربیات بدست اومده کد بهتری بنویسید.