نمایش نتایج 1 تا 30 از 30

نام تاپیک: آشنایی با الگوهای طراحی - Design Pattern

  1. #1

    Cool آشنایی با الگوهای طراحی - Design Pattern

    سلام :)
    در این تاپیک میخواهیم در مورد الگوهای طراحی بیشتر بدانیم.
    و از همه ی دوستان علاقمند و یا آشنا با این مفاهیم تقاضا میشه در بحث این تاپیک شرکت سازنده داشته باشند.

    هدف تاپیک : امید و انتظار میره به کمک همه ی دوستان عزیز، حداقل 23 الگوی کلاسیک مطرح شده (توسط GoF) در این تاپیک حل و فصل شوند.

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


    موفق باشید.
    آخرین ویرایش به وسیله sinpin : دوشنبه 05 فروردین 1387 در 22:48 عصر
    ...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست

  2. #2

    Lightbulb مقدمه ای بر Design Pattern

    تاریخچه Design Patterns
    ایده ی ایجاد الگوهای طراحی بهیچوجه یک ایده ی نو بشمار نمیرود :
    The idea of design patterns is not new. Ever since there were engineers, design patterns have existed. The architects of the great pyramids must have used design patterns to envision and eventually build one of the most durable testimonies to quality engineering.
    So what are design patterns? Simply put, design patterns name and describe effective solutions for common design problems. The name of a pattern gives us a common term that may be used when discussing design solutions. The description provides a guideline or template that can be applied to a frequently occurring design problem.
    Desgin Pattern چیست ؟
    مسایل متداول دنیای برنامه نویسی که قبلا توسط افرادی بصورت بهینه طراحی، و به شکل الگوهایی استاندارد دسته بندی شده اند.
    در واقع شما دیگر مجبور نیستید چرخی که دیگران با مشقت اختراع کردند رو دوباره اختراع کنید.

    به تعبیری دیگر :
    کسی که OOP رو خوب میدونه مثل کسی ست که اجزای تشکیل دهنده ی یک کیک رو میشناسه؛ اما کسی که الگوهای طراحی (Design Patternas) رو میدونه دستور پخت دقیق اون کیک رو هم در اختیار داره.
    نتیجه : کیک نفر اول همیشه یکدست و خوشمزه نمیشه؛ در حالیکه کیکی که نفر دوم میپزه همیشه خوشمزه و یکدست خواهد بود.

    Design patterns are recurring solutions to software design problems you find again and again in real-world application development. Patterns are about design and interaction of objects, as well as providing a communication platform concerning elegant, reusable solutions to commonly encountered programming challenges. The Gang of Four (GoF) patterns are generally considered the foundation for all other patterns. They are categorized in three groups: Creational, Structural, and Behavioral.
    بحث Design Pattern برای اولین بار در دنیای نرم افزار توسط GoF صورت گرفت.

    درباره ی GoF :

    یک گروه چهار نفره شامل :
    1. Gamma, Erich
    2. Richard Helm
    3. Ralph Johnson
    4. John Vlissides
    ملقب به Gang of Four یا GoF هستند. این گروه در 21 اکتبر سال 1994 کتابی را تحت عنوان :

    منتشر کردند. (این کتاب تا تاریخ آوریل 2007، سی و 6 بار تجدید چاپ شده است)
    آنها در این کتاب 23 الگوی طراحی کلاسیک رو با زبانهای OO مطرح در آنزمان (
    ++C و Smalltalk) برای اولین بار مورد بحث قرار دادند.

    دسته بندی کلاسیک الگوها :
    این 23 الگو طبق دسته بندی فرض شده توسط آنها (که هنوز هم رعایت میشود) در 3 گروه زیر جای گرفتند :
    آخرین ویرایش به وسیله sinpin : سه شنبه 06 فروردین 1387 در 00:28 صبح

  3. #3

    Post الگوی 1- Singleton Pattern

    Singleton Pattern



    این pattern در طبقه بندی الگوهای Creational جای دارد و هدف آن اینستکه :
    میخواهیم تضمین کنیم که از یک کلاس تنها بتوان یک آبجکت (حالت ساده و متعارف سینگلتون) ایجاد کرد و همه ی درخواستها نیز تنها به همان یک آبجکت هدایت شوند و نیز بتوان یک دسترسی عمومی به آن داشت.

    اولین قدم : سازنده ی کلاس را private میکنیم
    چرا private ؟ - پاسخ : تا هیچکسی نتواند از کلاس آبجکت بسازد.

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

    سومین قدم : ایجاد یک پراپرتی یا متود public و استاتیک که فیلد را برمیگرداند.
    چرا public ؟ چون میخواهیم از همه جا قابل دسترسی باشد.
    چرا استاتیک ؟ چون آبجکتی از کلاس ندارم و ناچارا باید دسترسی به این متود یا پراپرتی در سطح کلاس باشد.

    پس تا اینجا داریم :
    public sealed class Singleton
    {
    // Private Constructor
    Singleton() { }

    // Private object instantiated with private constructor
    static readonly Singleton instance = new Singleton();

    // Public static property to get the object
    public static Singleton UniqueInstance
    {
    get { return instance; }
    }
    }
    معمولا بهتر است این پیاده سازی بصورت lazy instantiation باشد (یعنی تا قبل از اولین invoking آبجکت مقداردهی اولیه نشود) :
    public class Singleton
    {
    // Private constructor
    Singleton() { }

    // Nested class for lazy instantiation
    class SingletonCreator
    {
    static SingletonCreator() { }
    // Private object instantiated with private constructor
    internal static readonly
    Singleton uniqueInstance = new Singleton();
    }

    // Public static property to get the object
    public static Singleton UniqueInstance
    {
    get { return SingletonCreator.uniqueInstance; }
    }
    }
    این الگو به شدت در طراحیهای مختلف و الگوهای دیگر (مانند : Abstract Factory, Façade , ...) مورد استفاده دارد.

    کدها بنقل از کتاب : http://www.oreilly.com/catalog/9780596527730

    سایر منابع :
    http://en.wikipedia.org/wiki/Singleton_pattern
    http://www.dofactory.com/Patterns/PatternSingleton.aspx
    آخرین ویرایش به وسیله sinpin : دوشنبه 05 فروردین 1387 در 22:56 عصر

  4. #4

    Post الگوی 2 - Decorator Pattern

    Decorator Pattern



    این pattern در طبقه بندی الگوهای Structural جای دارد و هدف از آن :
    امکان افزودن قابلیتها ( = تزئینات) جدید به یک آبجکت بصورت داینامیک و در زمان اجرا است.
    این امکان بوسیله ی افزودن یک کلاس جدید (decorator) ممکن میشود که کلاس اصلی را wrap میکند. این wrapping معمولا با پاس دادن آبجکت اصلی بعنوان یک پارامتر به constructor decorator انجام میشود.

    Decorator قابلیتهای جدید را در آبجکت پیاده سازی میکند و باید همان اینترفیسی را که کلاس اصلی پیاده سازی میکند، پیاده سازی کند.
    در زمان اجرا میتوان به یک آبجکت هم decorator افزود و هم کاست بدون آنکه مصرف کننده متوجه تغییرات گردد.

    Decorating در واقع بعنوان روش جایگزین subclassing (با انعطاف بیشتر) جهت توسعه قابلیتهاست با این تفاوت که :
    1. Subclassing رفتارهای جدیدی را در زمان کامپایل(compile-time) اضافه میکند در حالیکه decorating میتونه رفتارهای جدیدی را در زمان اجرا(runtime) اضافه نماید.
    2. با decorating میتوانیم یک قابلیت را تنها به یک آبجکت خاص از یک کلاس بدهیم بدون آنکه سایر آبجکتهای آن کلاس تغییر کنند.
    گاه در خیلی از مسایل بظاهر مشکل که صدها کلاس مشتق شده با روابطی پیچیده دارند؛ با پیاده سازی این الگو به یک طراحی آسان و خوانا خواهیم رسید.


    یک مثال :
    http://www.codeproject.com/KB/archit...Decorator.aspx

    منابع :
    http://www.dofactory.com/Patterns/PatternDecorator.aspx
    http://www.informit.com/articles/article.aspx?p=31350
    http://en.wikipedia.org/wiki/Decorator_pattern
    آخرین ویرایش به وسیله sinpin : دوشنبه 05 فروردین 1387 در 22:56 عصر

  5. #5

    یک مثال از decorator pattern

    لینک زیر یک مثال واقعی و بسیار مفید از این الگو است (فصل سوم کتاب head first که بصورت رایگان عرضه میشود)
    پیشنهاد میکنم حتما دانلود و مشاهده کنید :
    http://www.oreilly.com/catalog/hfdes...apter/ch03.pdf

  6. #6

    الگوی 3 - Command Pattern

    Command Pattern



    یکی از الگوهای دسته ی behavorial است که به کمک آن (هدف) :
    میتوان یک عملیات را در قالب یک آبجکت Encapsulate کرد؛ لذا از آن میتوان در اموری مانند :
    پارامتری کردن کلاینتها با درخواستهای متفاوت،
    ثبت و log کردن درخواستها،
    عملیات برگشت پذیر (Undoable)
    و ... استفاده کرد.

    Command (Command)
    • declares an interface for executing an operation

    ConcreteCommand (CalculatorCommand)
    • defines a binding between a Receiver object and an action
    • implements Execute by invoking the corresponding operation(s) on Receiver

    Client (CommandApp)
    • creates a ConcreteCommand object and sets its receiver

    Invoker (User)
    • asks the command to carry out the request

    Receiver (Calculator)
    • knows how to perform the operations associated with carrying out the request.


    یکی از کاربردهای دنیای واقعی برای این الگو گزینه های Undo و Redo موجود در تمامی محیطهای ویرایشگر میباشد.
    از دیگر مثالهای واقعی این الگو میتوان به مورد ذخیره ی ماکروها (یکسری عملیات متوالی) در مجموعه ی آفیس اشاره کرد (همانطور که میدانید کاربر میتواند یکسری از کارهای پشت سر هم و تکراری خود را در قالب یک ماکرو ذخیره نماید و سپس با اجرای ماکرو تمامی آن کارها پشت سر هم اجرا خواهند شد)

    یک مثال از سایت DoFactory را در زیر مشاهده میکنید

    در این مثال ما یک ماشین حساب با تعداد نامتناهی عملیات Undo و Redo خواهیم داشت :

    using System;
    using System.Collections;

    namespace DoFactory.GangOfFour.Command.RealWorld
    {

    // MainApp test application

    class MainApp
    {
    static void Main()
    {
    // Create user and let her compute
    User user = new User();

    user.Compute('+', 100);
    user.Compute('-', 50);
    user.Compute('*', 10);
    user.Compute('/', 2);

    // Undo 4 commands
    user.Undo(4);

    // Redo 3 commands
    user.Redo(3);

    // Wait for user
    Console.Read();
    }
    }

    // "Command"

    abstract class Command
    {
    public abstract void Execute();
    public abstract void UnExecute();
    }

    // "ConcreteCommand"

    class CalculatorCommand : Command
    {
    char @operator;
    int operand;
    Calculator calculator;

    // Constructor
    public CalculatorCommand(Calculator calculator,
    char @operator, int operand)
    {
    this.calculator = calculator;
    this.@operator = @operator;
    this.operand = operand;
    }

    public char Operator
    {
    set{ @operator = value; }
    }

    public int Operand
    {
    set{ operand = value; }
    }

    public override void Execute()
    {
    calculator.Operation(@operator, operand);
    }

    public override void UnExecute()
    {
    calculator.Operation(Undo(@operator), operand);
    }

    // Private helper function
    private char Undo(char @operator)
    {
    char undo;
    switch(@operator)
    {
    case '+': undo = '-'; break;
    case '-': undo = '+'; break;
    case '*': undo = '/'; break;
    case '/': undo = '*'; break;
    default : undo = ' '; break;
    }
    return undo;
    }
    }

    // "Receiver"

    class Calculator
    {
    private int curr = 0;

    public void Operation(char @operator, int operand)
    {
    switch(@operator)
    {
    case '+': curr += operand; break;
    case '-': curr -= operand; break;
    case '*': curr *= operand; break;
    case '/': curr /= operand; break;
    }
    Console.WriteLine(
    "Current value = {0,3} (following {1} {2})",
    curr, @operator, operand);
    }
    }

    // "Invoker"

    class User
    {
    // Initializers
    private Calculator calculator = new Calculator();
    private ArrayList commands = new ArrayList();

    private int current = 0;

    public void Redo(int levels)
    {
    Console.WriteLine("\n---- Redo {0} levels ", levels);
    // Perform redo operations
    for (int i = 0; i < levels; i++)
    {
    if (current < commands.Count - 1)
    {
    Command command = commands[current++] as Command;
    command.Execute();
    }
    }
    }

    public void Undo(int levels)
    {
    Console.WriteLine("\n---- Undo {0} levels ", levels);
    // Perform undo operations
    for (int i = 0; i < levels; i++)
    {
    if (current > 0)
    {
    Command command = commands[--current] as Command;
    command.UnExecute();
    }
    }
    }

    public void Compute(char @operator, int operand)
    {
    // Create command operation and execute it
    Command command = new CalculatorCommand(
    calculator, @operator, operand);
    command.Execute();

    // Add command to undo list
    commands.Add(command);
    current++;
    }
    }
    }


    خروجی برنامه :

    Current value = 100 (following + 100)
    Current value = 50 (following - 50)
    Current value = 500 (following * 10)
    Current value = 250 (following / 2)

    ---- Undo 4 levels
    Current value = 500 (following * 2)
    Current value = 50 (following / 10)
    Current value = 100 (following + 50)
    Current value = 0 (following - 100)

    ---- Redo 3 levels
    Current value = 100 (following + 100)
    Current value = 50 (following - 50)
    Current value = 500 (following * 10)
    این الگو سر فرصت کاملتر خواهد شد...

    منابع :‌
    http://en.wikipedia.org/wiki/Command_pattern
    http://www.dofactory.com/Patterns/PatternCommand.aspx
    http://www.vico.org/pages/PatronsDis...ern%20Command/
    http://www.codeproject.com/KB/books/DesignPatterns.aspx
    آخرین ویرایش به وسیله Mahmoud.Afrad : پنج شنبه 20 فروردین 1394 در 18:50 عصر
    ...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست

  7. #7

    الگوی 4 - Observer Pattern

    Observer Pattern



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


    البته در دات نت این الگو بصورت درونکار و به کمک event و delegate قابل پیاده سازی است.

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

    منابع :‌
    http://en.wikipedia.org/wiki/Observer_pattern
    http://www.dofactory.com/Patterns/PatternObserver.aspx
    http://msdn.microsoft.com/library/de...erverInNET.asp
    http://www.codeproject.com/kb/archit...ilKumarKS.aspx
    ...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست

  8. #8

    الگوی 5 - Prototype Pattern

    Prototype Pattern



    یکی از الگوهای Creational است که هدف از آن :
    مشابه‌سازی کلاسی موجود به جای ایجاد وهله‌ای از آن (هنگامی که ایجاد نمونه‌ای دیگر بر روی کارایی برنامه تاثیر منفی داشته باشد) .

    به عنوان مثال در موارد زیر کاربرد دارد:
    • زمانی که نیاز است از دیتابیسی حجیم چندین تراکنش صورت گیرد تا پاسخ مساله‌ای پیدا شود. وقتی این پاسخ بدست آمد شاید بخواهید عملیاتی بر روی آنها انجام شود (بدون نیاز به انجاک تراکنش جدید) در این حالت داشتن و یا تهیه یک نوع کپی از داده‌های حاصل بسیار مطلوب است.
    • اطلاعات شما در فایلی وجود دارد در هنگام ساخت نمونه‌ای از کلاس، این اطلاعات از فایل خوانده شده (رکورد به رکورد) و داخل کلاس افزوده می‌شود. برای انجام هر عملیات ممکن است نیاز به نمونه‌ای از این اطلاعات باشد و ساخت نمونه‌ای جدید و لود کردن اطلاعات فایل، سربار زیادی ایجاد می‌کند.

    برای پیاده‌سازی این الگو :
    یک کلاس پایه abstract ایجاد می‌کنیم که متد ()clone را تعریف می‌کند. هر کلاسی که از کلاسه پایه مشتق شود متد ()clone را پیاده‌سازی می‌کند.
    هر زمان که نیاز به کپی از این کلاس بود به جای نوشتن new متد ()Clone فراخوانده می‌شود.

    مثال :


    public enum RecordType
    {
    Car,
    Person
    }

    /// <summary>
    /// Record is the Prototype
    /// </summary>
    public abstract class Record
    {
    public abstract Record Clone();
    }

    /// <summary>
    /// PersonRecord is the Concrete Prototype
    /// </summary>
    public class PersonRecord : Record
    {
    string name;
    int age;

    public override Record Clone()
    {
    return (Record)this.MemberwiseClone(); // default shallow copy
    }
    }

    /// <summary>
    /// CarRecord is another Concrete Prototype
    /// </summary>
    public class CarRecord : Record
    {
    string carname;
    Guid id;

    public override Record Clone()
    {
    CarRecord clone = (CarRecord)this.MemberwiseClone(); // default shallow copy
    clone.id = Guid.NewGuid(); // always generate new id
    return clone;
    }
    }

    /// <summary>
    /// RecordFactory is the client
    /// </summary>
    public class RecordFactory
    {
    private static Dictionary<RecordType, Record> _prototypes =
    new Dictionary<RecordType, Record>();

    /// <summary>
    /// Constructor
    /// </summary>
    public RecordFactory()
    {
    _prototypes.Add(RecordType.Car, new CarRecord());
    _prototypes.Add(RecordType.Person, new PersonRecord());
    }

    /// <summary>
    /// The Factory method
    /// </summary>
    public Record CreateRecord(RecordType type)
    {
    return _prototypes[type].Clone();
    }
    }


    منابع :
    http://en.wikipedia.org/wiki/Prototype_pattern
    کتاب الگوهای طراحی آقای نصیری
    http://www.dofactory.com/Patterns/PatternPrototype.aspx

    نمونه کدی از CodeProject برای نمایش اتباطات صوتی از طریق شبکه با Prototype
    آخرین ویرایش به وسیله Mahmoud.Afrad : پنج شنبه 20 فروردین 1394 در 18:52 عصر
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  9. #9

    پوستری جالب از Design Patternها

    چند روز پیش که گذرم به سایت Oreilly افتاد پوستری جالب از Design Patternهای مختلف دیدم. طراحی جالبی داره و باعث یادآوری میشه



    Head First Design Patterns Poster
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  10. #10
    VIP آواتار رضا عربلو
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    1,597
    این تصویری که در لینک بالا و همچنین در http://www.oreilly.com/catalog/hfdes...str/cover.html گذاشته اید آنقدر بزرگ و واضح نیست که بشه بهش گفت پوستر، تا اون را چاپ کرده و بر روی دیوار اتاق کارمان نصب کنیم.
    اگر Net. نمی دانید وارد نشوید.

  11. #11
    دوست عزیز اگه خوب به اون لینکی که گذاشتم دقت می کردید می‌دید که این پوستر رایگان نیست به خاطر همین هم یک شکل کوچک ازش قرار دادن
    شما هم اگه پوستر بزرگ قابل چاپ می‌خوایید خوب، جستجو کنین ;)
    به علت قوانین سایت نمی‌تونم لینک دانلود بدم

    چون این بحث خارج از موضوع این تاپیک می‌باشد ؛ این پست بعدا با یک الگوی طراحی جایگزین می‌شود
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  12. #12
    کاربر دائمی آواتار Parham.D
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    شيراز
    پست
    413

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

    براي Design Pattern، PDF وجود نداره تا به شه مثل يك جزو داشته باشيم. آخه من تازه كار هستم. اين مطالب خوب واسه من يه كم سنگينه و درست نمي‏فهمم.

  13. #13

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

    تنها منبع فارسی که من دیده ام کتاب جناب وحید نصیری بود

    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  14. #14

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

    جمع بندي حرفهاي فوق و برخي اطلاعات از منابع ديگر را مي توانيد در اين فايل بخوانيد.
    فایل های ضمیمه فایل های ضمیمه

  15. #15
    کاربر دائمی آواتار esmaeily-hosein
    تاریخ عضویت
    مهر 1385
    محل زندگی
    شهر دودها
    پست
    227

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

    اینم PDf خوبیه .
    http://www.4shared.com/file/11530711...in_CSharp.html

    هر کی مایله 10 صفحه به 10 صفحه ترجمه بشه . تا یک مرجع خوب فارسی برای این موضوع باشه .

  16. #16

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

    دوستان اگر کسی میتونه pattern Composite را توضیح بده
    ممنون

  17. #17

    Question نقل قول: آشنایی با الگوهای طراحی - Design Pattern

    سلام
    میشه Bridge Pattern هم توضیح بدین؟

  18. #18

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

    سلام كسي در مورد repository pattern مطلبي داره ممنون ميشم ...

  19. #19

  20. #20

  21. #21

  22. #22

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

    salam az matlabe mofidetoon bi nahaiat sepas gozaram
    man alan b moshkeli jedi barkhord kardam k az shoma mikham komakam konin va anham farghe beine factory method ba abstract factory ast?
    age emkan dare dar ghalebe yek mesal bande ra rahnamaee konin
    khaili fori
    ba tashakor

  23. #23

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

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

  24. #24

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

    سلام
    تقدیم به همه دوستان و عزیزان
    الگوهای طراحی
    1 مقدمه بر الگو های طراحی (Design Pattern ) رحیم لطفی دانلود
    2 مقدمه بر الگو های طراحی (Design Pattern ) رحیم لطفی دانلود
    3 مقدمه بر الگو های طراحی (Design Pattern ) رحیم لطفی دانلود
    4 مقدمه بر الگو های طراحی (Design Pattern ) رحیم لطفی دانلود
    5 الگو های طراحی (Design Pattern SingleTon ) رحیم لطفی دانلود
    6 الگو های طراحی (Design Pattern Multiton ) رحیم لطفی دانلود
    7 الگو های طراحی (Design Pattern Pool ) رحیم لطفی دانلود
    8 الگو های طراحی (Design Pattern ) رحیم لطفی دانلود
    9 الگو های طراحی (Design Pattern Builder) رحیم لطفی دانلود
    10 الگو های طراحی (Design Pattern Prototype ) رحیم لطفی دانلود
    11 الگو های طراحی (Design Pattern Responsability ) رحیم لطفی دانلود
    12 الگو های طراحی (Design Pattern Command) رحیم لطفی دانلود
    13 الگو های طراحی (Design Pattern Command2 ) رحیم لطفی دانلود
    14 الگو های طراحی (Design Pattern interpreter ) رحیم لطفی دانلود
    15 الگو های طراحی (Design Pattern Mediator ) رحیم لطفی دانلود
    16 الگو های طراحی (Design Pattern Mediator ) رحیم لطفی دانلود
    17 الگو های طراحی (Design Pattern Visitor ) رحیم لطفی دانلود
    18 الگو های طراحی (Design Pattern Visitor ) رحیم لطفی دانلود
    19 ر الگو های طراحی (Design Pattern Adapter ) رحیم لطفی دانلود
    20 الگو های طراحی (Design Pattern Composite ) رحیم لطفی دانلود
    21 الگو های طراحی (Design Pattern Decorator ) رحیم لطفی دانلود
    22 الگو های طراحی (Design Pattern Facade ) رحیم لطفی دانلود
    23 الگو های طراحی (Design Pattern FlyWeight) رحیم لطفی دانلود
    24 الگو های طراحی (Design Pattern Proxy) رحیم لطفی دانلود
    25 الگو های طراحی (Design Pattern Proxy2 ) رحیم لطفی دانلود
    26 الگو های طراحی (Design Pattern Observer) رحیم لطفی دانلود
    27 الگو های طراحی (Design Pattern Observer2 ) رحیم لطفی دانلود
    28 الگو های طراحی (Design Pattern Memento ) رحیم لطفی دانلود
    29 الگو های طراحی (Design Pattern State ) رحیم لطفی دانلود
    30 مقدمه بر الگو های طراحی (Design Pattern State2 ) رحیم لطفی دانلود
    31 الگو های طراحی (Design Pattern Iterator ) رحیم لطفی دانلود
    32 الگو های طراحی (Design Pattern Startegy ) رحیم لطفی دانلود
    33 الگو های طراحی (Design Pattern Template ) رحیم لطفی دانلود
    آخرین ویرایش به وسیله rahimlotfi : شنبه 25 بهمن 1393 در 21:17 عصر

  25. #25
    کاربر دائمی آواتار saeed410
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    قوچان. مشهد
    پست
    264

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

    سلام. بسیار مطلب مفیدی بود. ممنون از همه .

  26. #26

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

    با تشکر از شما ...
    اگه برای هر کدام از اصول و الگو های طراحی یک نمونه کامل هم گذاشته بشه خیلی خوب میشه(هر چند نمونه های سطح بالا در اینترنت پیدا مشه ولی واسه یادگیری زیاد مناسب نیستند)

  27. #27

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

    سلام وقت بخير
    ضمن سپاس فراوان از جناب رحيم لطفي
    اگر لطف بكنند لينك رديف 8 را اصلاح نمايند سپاس گزارم.
    8 الگو های طراحی (Design Pattern ) رحیم لطفی دانلود

  28. #28

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

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

  29. #29
    کاربر دائمی
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    212

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

    باسپاس از لطفتون
    لینک دانلودها از شماره 7 به بعد مشکل دارن ممنون میشم کنترل کنید

  30. #30
    کاربر دائمی آواتار piroozman
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    سن
    48
    پست
    217

    نقل قول: آشنایی با الگوهای طراحی - Design Pattern

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

تاپیک های مشابه

  1. Pattern design
    نوشته شده توسط پیمان 1 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: شنبه 05 مرداد 1392, 02:34 صبح
  2. Design Pattern ها
    نوشته شده توسط aidinwashere در بخش C#‎‎
    پاسخ: 16
    آخرین پست: چهارشنبه 05 مهر 1391, 09:40 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •