PDA

View Full Version : Design Pattern ها



aidinwashere
شنبه 14 مرداد 1385, 19:51 عصر
با سلام خدمت همه،
با توجه به مهم بودن بحث شئ گرایی و برنامه نویسی درست آن و اینکه اکثرا مشاهده کرده ام که اصلا شئ گرا برنامه نویسی نمیکنند و اگر هم میکنند، به روش صحیح و استاندارد این کار را انجام نمیدهند و غالبا به همین علت دچار مشکل میشوند(یک نمونه روش متغیر global برای برنامه است). به عقیده این حقیر با توجه به اهمییت این موضوع و اینکه کتاب خوبی نیز لینک کرده ام، خواستار هستم که چیزی شبیه به کارگاه آموزشی یا چیزی شبیه به آن ایجاد شود(یا همین تاپیک ادامه یابد) که شاید در این جهت هم بتوانیم بهم کمک کنیم.
هرچند این مبحث منحصرا مختص به net. نبوده، و مجالی برای خود در تاپیکی (مانند Crystal Reports که تاپیکی برای خود دارد) میطلبد ولی حداقل شروعی در جهت آشنایی دوستان با این مهم خواهد بود.
امیدوارم که مورد استقبال اهل آن واقع شود.
با احترام.

aidinwashere
یک شنبه 15 مرداد 1385, 06:42 صبح
در این سایت برای هر Pattern یک مختصری توضیح داده و برای #Cو VBو به صورت کلی، یک مثال ارائه کرده:
http://www.dofactory.com/Patterns/Patterns.aspx
موفق باشید.

aidinwashere
پنج شنبه 26 مرداد 1385, 01:33 صبح
جدا کسی اصولی شیئ گرا برنامه نویسی نمیکنه اینجا؟
هیچکس؟
هیچی؟
!!!

اَرژنگ
پنج شنبه 26 مرداد 1385, 05:43 صبح
جدا کسی اصولی شیئ گرا برنامه نویسی نمیکنه اینجا؟
هیچکس؟
هیچی؟
!!! چرا، ولی حرف زدن در مور پترنها همینطوری که نمیشه. مشکل چی هست؟ برایه هر مشکلی یک نوع پترن وجود دارد. همینطوری که نمیشه شروع کنیم، دنباله چه خصوصیاتی میگردید؟

aidinwashere
پنج شنبه 26 مرداد 1385, 14:51 عصر
مرسی آرژنگ جان
من میخوام Objcet Oriented Design رو یاد بگیرم تا بتونم درست Object Oriented Programming بکنم.
ولی هرچی پیدا میکنم همش تعاریف Polymorphism و اینجور تعاریف است.
هیچ جا یه مثال درست حسابی برای من مبتدی نزده که چی رو کلاس بکنیم، از چی مشتق کنیم و اینها.
یه بازی پیدا کردم ولی چیزی سر در نیاوردم.
حتی تو اینترنت هم روزها گشتم ولی هیچی.
از دوستان خواهشمندم اگر منبعی میشناسند معرفی کنند.
مرسی.

Farhad.B.S
پنج شنبه 26 مرداد 1385, 15:10 عصر
به نظر بنده بهترین مثال ها داخل اپلیکیشن های بزرگ و اپن سورسی است که توسط مایکروسافت و یا شرکت های همکار توسعه داده میشه.

فکر میکنم با مطالعه چند نمونه از این کد ها به مقدار زیادی راه می افتید.

aidinwashere
جمعه 27 مرداد 1385, 17:06 عصر
مرسی از پاسختون ولی
گفتم فقط یک مثال پیدا کردم که چیزی سر در نیاوردم.
چطور این همه کتاب هست که Inheritance رو یاد بده، ولی هیچ کدوم یه مثال نزدن!
:(

اَرژنگ
جمعه 27 مرداد 1385, 18:15 عصر
مرسی از پاسختون ولی
گفتم فقط یک مثال پیدا کردم که چیزی سر در نیاوردم.
چطور این همه کتاب هست که Inheritance رو یاد بده، ولی هیچ کدوم یه مثال نزدن!
:(
مثال:
http://csharp-station.com/Tutorials/Lesson08.aspx

aidinwashere
جمعه 27 مرداد 1385, 23:00 عصر
مرسی دوست من،
من سؤالم رو بد مطرح کردم، منظورم از مثال این بود که مثلا یه برنامه کوچیک باهاش بنویسن و استفاده از این مفاهیم پایه ای OOP رو استفاده کرده باشن که یادبگیرم که یک مساله جدید رو با رویکرد شئ گرا چطور باید حل کرد.
اوس.

Farhad.B.S
شنبه 28 مرداد 1385, 00:03 صبح
این سیستم ها کوچیک نیستند ولی با مطالعه سورس کدشون میتونی کلی از کاربرد های موردنظرت رو پیدا کنی :

.Text
Community Server
DNN

Farhad-Csharp
یک شنبه 29 مرداد 1385, 10:16 صبح
سلام دوستان
از آرژنگ عزیز میخوام دست از کلکل کردن با آیدین برداره تا ببینیم این بحث به کجا میکشه .
آیدین میخواد دات نت کارها برنامه نویسی رو اصولی کارکنن.
از هردوی شما متشکرم.

اَرژنگ
یک شنبه 29 مرداد 1385, 11:21 صبح
مرسی دوست من،
من سؤالم رو بد مطرح کردم، منظورم از مثال این بود که مثلا یه برنامه کوچیک باهاش بنویسن و استفاده از این مفاهیم پایه ای OOP رو استفاده کرده باشن که یادبگیرم که یک مساله جدید رو با رویکرد شئ گرا چطور باید حل کرد.
اوس.
کتابی که دقیقاً این کاری را که شما میخواهید انجام داده (#C):
http://www.awprofessional.com/bookstore/product.asp?isbn=0201844532&rl=1

کتاب اصلی پترنها:
http://www.amazon.com/gp/product/0201633612/ref=pd_sim_b_1/002-5150587-4843244?ie=UTF8

حالا یکی بگه که سوال چی هست که این بهث به نتیجه برسه ؟

اوس

اَرژنگ
یک شنبه 29 مرداد 1385, 11:35 صبح
مرسی از پاسختون ولی
گفتم فقط یک مثال پیدا کردم که چیزی سر در نیاوردم.
چطور این همه کتاب هست که Inheritance رو یاد بده، ولی هیچ کدوم یه مثال نزدن!
:(
احتماله زیاد کتابهایی که شما در نظر دارید کتابهایی مانند یاگرفتن زبانهایه مختلف هستند.
اگر ممکنه اسمه چند تا از کتابهایی که در نظرتان هست را بفرمیید، شاید بتونیم کتابهیه مفید تر را در این ضمینه پیشنهاد کنیم.
!OSU

aidinwashere
سه شنبه 14 شهریور 1385, 07:19 صبح
اکثر کتابای ++C که دارم اینطور هستند.
اگر کتابی میشناسید که طراحی شئ گرا رو آموزش داده، لطفا کمک کنید.
!Osu

behrouzlo
پنج شنبه 27 مهر 1385, 01:26 صبح
یه سری به وبلاک ooa.blogfa.com (http://ooa.blogfa.com) بزنید فکر می کنم بد نباشه
--------------------
الگو های طراحی (Design Pattern) :

کسی وجود دارد که قبلاً مسله شما را حل کرده است.
در مهندسی نرم افزار یک الگوی طراحی، یک روش حل قابل تکرار برای مسائلی هست که عموماً در طراحی نرم افزار با آن برخورد می کنیم. یک الگوی طراحی یک قالب یا شرح برای چگونگی حل مسائلی است که می تواند در شرایط مختلف استفاده شود.یک الگوی طراحی، راه حلی است که برای مستند سازی ارزشمند تشخیص داده شده است، بطوریکه توسعه دهند گان دیگر می توانند آن را در حل مسائل مشابه به کار ببرند.همانگونه که طراحی شی گرا ادعا می کند که استفاده مجدد از کتابخانه ها و قطعات را افزایش می دهد، ادعا می شود که استفاده از الگو های طراحی، استفده مجدد از کتابخانه ها و قطعات را افزایش می دهد.
الگو ها تکنیک هایی هستند که افراد زمانی از آنها برای حل مسائل خاص استفاده کردند. و به عنوان راه حل های خوب شناخته شده اند. سپس این تکنیک ها مستند سازی شده اند تا توسعه دهندگان هنگام برخورد با مسائل مشابه از این مستندات استفاده کنند و مسائل خود را حل کنند.

تاریخچه الگو های طراحی :
استفاده از الگوها برای اولین بار به ذهن یک معمار به نام الکساندر خطور کرد. الکساندر با این مشکل روبرو شد که یک طرح خوب و با کیفیت برای یک ساختمان چگونه می تواند باشد. او برای حل مشکل خود، ساختمانها، خیابانها، شهرک ها و هر مکانی که یک انسان برای خودش می سازد را مورد مطالعه و بررسی قرار داد. او کشف کرد که بناهای خوب از نظر طراحی دارای ویژگیهای مشترک هستند. او کشف کرد که بناهای خوب دارای ویژگیهای مشابه هستند واین ویژگیهای مشابه را الگو نامید.
هر الگو بیانگر یک مسئله و مشکل است که می تواند بارها و بارها روی بدهد همراه با راه حل آن مسئله، وشما می تواند از این راه حل برای میلیون ها بار استفاده کند بدون نیاز مجدد برای پیدا کردن راه حل.
در اوایل دهه 1990، بعضی از توسعه دهندگان نرم افزار با کارهای الگساندر برخورد کردند.آنها با این سوال روبرو شدند که اگر الگو های طراحی معماری در این رشته به صورت صحیح جواب می دهد آیا می توان الگوهای را برای طراحی نرم افزار بوجود آورد.
• در نرم افزار چه مسائل وجو دارد که بارها رخ می دهد و تقریبا با روشهای مشابه می توان آنها را حل کرد؟
• آیا امکان استفاده از مفهوم الگوها در طراحی نرم افزار وجود دارد، آیا می توان راه حل های را برا اساس الگوها بعد از شناسایی الگوها ایجاد کرد.
سوالات بالا، سوالاتی بودند که توسعه دهندگان مطرح کردند و پاسخ آن را یافتند. پاسخ سوال بلی بود. مرحله بعدی شناسایی الگوها بود و توسعه استانداردهای برای مستند سازی الگوها.
در اوایل دهه 1990، افرادی زیادی روی الگوهای طراجی کار می کردند. اما چهار نفر به نام های، گاما، جاکوبسون، هلم و ولسایدز بیشترین تاثیر را در این زمینه با نوشتن کتابی به نام
"Design Pattern: Elements of Reusable Object-Oriented Software"، داشتند. این چهار نویسنده به Gang of Four مشهور است. آنها در این کتاب ائده استفاده از الگوها را در طراحی نرم افزار به کار بردند.و یک فرمت استاندارد را برای مستندسازی الگوها ایجاد کردند. 23 نوع از الگوها را دسته بندی کردند و .... به مرور زمان فرمت های استاندارد دیگری برای مستند سازی الگوها پیشهناد شد.

sinpin
دوشنبه 05 فروردین 1387, 21:39 عصر
دوستی عزیزی که با جستجو به اینجا رسیدید، به لینک زیر هم سری بزنید :
http://barnamenevis.org/forum/showthread.php?p=486548

alaki_p
چهارشنبه 05 مهر 1391, 09:40 صبح
سلام دوست خوبم
این لینک تا حدودی برای شما که می خوایی شروع کنی بد نیست و به زبان فارسی همراه با مثال الگوهای اولیه رو توضیح داده (البته به زبان VB)
برای شروع بد نیست اما باید بدونی که بعضی از مهمترین ها و پرکاربردترین الگوها که تو برنامه نویسی های چند لایه الان ازش استفاده می شه مثل Repository توش نیست اما در کل برای شروع چیز بدی نیست...


http://www.abadis.net/Article/10/%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%A7%D9%84%DA%AF%D9%88%D9%87%D8%A7%DB%8C-%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-Design-Patterns/