الگوی طراحی چیست؟ce.sharif.edu/courses/89-90/2/ce474-1/resources... · singleton...
TRANSCRIPT
الگبی طراحی
زرا فبدست
غسال حبئری
الگ تؼریفتبریخچ
اجسای الگ
لبلت هستذ سبزیهسایب
هؼبیتدست ثذی
لیست الگبSingleton
Iterator
Adapter
هبثغ
تؼریف الگ
را حل تىرار ضذ ثرای یه هطىل
تصیف هطىلی و ثبرب ثبرب اتفبق افتبد است
سیل ای است ثرای ثجت اتمبل هبرت ب در یه زهی
خبظ
الگ تؼریفتبریخچ
اجسای الگلبلت هستذ سبزی
هسایبهؼبیت
دست ثذیلیست الگب
Singleton
Iterator
Adapter هبثغ
الگی طراحی
هسبئل ثرای تىرار لبثل حل رش یه
هختلف ضرایط در هسبئل حل ثرای ضرح یب لبلت یه
سبزی هستذ ثرای ارزضوذ حلی را
لطؼبت ب خب وتبة از هجذد ی استفبد افسایص
ب آى بی حل را هطىالت ثذی طجم
الگ تؼریفتبریخچ
اجسای الگلبلت هستذ سبزی
هسایبهؼبیت
دست ثذیلیست الگب
Singleton
Iterator
Adapter هبثغ
تبریخچ
1977-هؼوبری ث بم وریستفر الىسبذر تؼریف الگ
تبریخچاجسای الگ
لبلت هستذ سبزیهسایب
هؼبیتدست ثذی
لیست الگبSingleton
Iterator
Adapter هبثغ
تبریخچ
هؼوبری ث بم وریستفر الىسبذر
تسؼ دذگبى رم افسار 1990
چبر فر ث بم بی ، گبهب، جبسى، لن لسبیذز
تؼریف الگتبریخچ
اجسای الگلبلت هستذ سبزی
هسایبهؼبیت
دست ثذیلیست الگب
Singleton
Iterator
Adapter هبثغ
Design pattern:
Elements of Reusable object Oriented Software
ایذ ی استفبد از الگب در طراحی رم افسار فرهت استبذارد هستذ سبزی
دست ثذی الگب
تؼریف الگتبریخچ
اجسای الگلبلت هستذ سبزی
هسایبهؼبیت
دست ثذیلیست الگب
Singleton
Iterator
Adapter هبثغ
اجسای الگ
یه الگی طراحی ثبیذ ضبهل هارد زیر ثبضذ
.ػجبرتی و الگ را تصیف وذ: بم
ضرحی از هطىلی و لرار است تسط ایي : هطىل
.الگی طراحی را حل آى ثیبى ضد
چ لت ثبیذ از ایي الگی طراحی استفبد : زهی
.ورد
اجساء طراحی و یبز دارین وچیي : را حل
.ارتجبطبت آب
تؼریف الگتبریخچ
اجسای الگلبلت هستذ سبزی
هسایبهؼبیت
دست ثذیلیست الگب
Singleton
Iterator
Adapter هبثغ
لبلت هستذ سبزی ثرای الگبی طراحی
یه بم خة هفیذ ثرای الگ بم الگ
تؼریف . )یه جول وتب هختصر درثبر چیسی و الگ اجبم هی دذ(هسل را حل ث صرت هختصر هفیذ
(intent)ذف
.بم بی دیگری و الگ ثب آى ضبخت هی ضد بم هستؼبر
یه وبیص گرافیىی از الگ سبختبر
(.جد دارذ)والس ب اضیبئ و در الگ ضروت دارذ اجساء تطىیل دذ (Participants)
چگ اجسای تطىیل دذ ثب ن وىبری هی وذ تب ظبیفطبى را اجبم .دذ
وىبریب(Collaborations)
تبیج استفبد از الگی هرد ظر تبیج (Consequences)
ىیه بی ثرای پیبد سبزی الگی هرد ظرت پیبد سبزی
تؼریف الگتبریخچاجسای الگ
لبلت هستذسبزیهسایب
هؼبیتدست ثذی
لیست الگبSingleton
Iterator
Adapter هبثغ
هسایب ی استفبد از الگبی طراحی
ثذی ثذی دست الگبی طراحی در حل هطىل طجم جبیگب
تجرثی ثدى الگبی طراحی
الگبی طراحی استفبد هجذد
الگبی طراحی ث هثبث فرگ لغت هطترن
مص الگبی طراحی در آهزش طراحی ضیءگرا
ب تؼوین الگبی طراحی در سبیر حز
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزی
هسایبهؼبیت
دست ثذیلیست الگب
Singleton
Iterator
Adapter هبثغ
هؼبیت استفبد از الگبی طراحی
رزافسى ثسرگی پیچذگی همبثل در طراحی الگبی ثدى وچه
هج هسبئل
هسئل ث پبسخگیی جت الگب تسؼ ث یبز
طراحی الگبی تؼذاد تع افسایص
هی هسبل ضذى تر پیچیذ ثبػث طراحی الگبی از بدرست استفبد
ضد
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایب
هؼبیتدست ثذی
لیست الگبSingleton
Iterator
Adapter هبثغ
دست ثذی الگ بی طراحی
الگبی آفریطی(Creational Pattern)
رش بی ایجبد اضیب
الگبی سبختبری(Structural Patten)
چگگی ترویت اضیب والس ب در سبختبر بی ثسرگتر
الگبی رفتبری(Behavioral Pattern)
توروس ری ارتجبط اضیب ثب یىذیگر
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایبهؼبیت
دست ثذیلیست الگب
Singleton
Iterator
Adapter هبثغ
فرست تؼذادی از الگبی آفریطی
Factory Method
Abstract Factory
Builder
Prototype
Singleton
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایبهؼبیتدست ثذی
لیست الگبSingleton
Iterator
Adapter هبثغ
فرست تؼذادی از الگبی سبختبری
Adapter
Bridge
Composite
Decorator
Flyweight
Facade
Proxy
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایبهؼبیتدست ثذی
لیست الگبSingleton
Iterator
Adapter هبثغ
فرست تؼذادی از الگبی رفتبری
Interpreter
Template Method
Chain of Responsibility
Command
Iterator
Mediator
Memento
Observer
State
Strategy
Visitor
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایبهؼبیتدست ثذی
لیست الگبSingleton
Iterator
Adapter هبثغ
ثررسی چذ الگ
Iterator
Adapter
singlton
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایبهؼبیتدست ثذیلیست الگب
Singleton
Iterator
Adapter هبثغ
Singleton pattern
است ضذ ایجبد و یه فمط هب والس از ایى از اطویبى ثرای
والس یه از و ایجبد وردى هحذد ثرای
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایبهؼبیتدست ثذیلیست الگب
Singleton
Iterator
Adapter هبثغ
ح پیبدسبزی
آسبتریي را ایجبد یه هتغیر استبتیه داخل والس
True لرار دادى هتغیر در صرت تلیذ الیي و
در سبیر دفؼبت در صرتFalse در غیر .ثدى هتغیر تلیذ هی ضد
.صرت تست هی ضد
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایبهؼبیتدست ثذیلیست الگب
Singleton
Iterator
Adapter هبثغ
singleton
return uniquelnstance
Singleton
static Instance()
SingletonOperation()
GetSingletonData()
Static uniquelnstance
singletonData
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایبهؼبیتدست ثذیلیست الگب
Singleton
Iterator
Adapter هبثغ
Iterator
، ب داد از لیستی یب هروت اضیب درى اضیب ث دسترسی ثرای
اضیب ضذى رخیر ی ح از اطالع ثذى
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایبهؼبیتدست ثذیلیست الگبSingleton
Iterator
Adapter هبثغ
iteratorالگی
.تؼریف یه اسط ثب اهىبى دسترسی ترتیجی ث ػبصر یه هجوػ
هستمل از پیبد سبزی ضی هروت والسی است و اسط را پیبد
.ورد است
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایبهؼبیتدست ثذیلیست الگبSingleton
Iterator
Adapter هبثغ
Iterator
یه اسطتؼریف
تؼریف هتذبی زیر
ثررسی جد ػصر ثؼذی در لیست
ثرگرداذى ػصر فؼلی
ثرگرداذى ػصر ثؼذی
ػصر ال ثرگطت ث
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایبهؼبیتدست ثذیلیست الگبSingleton
Iterator
Adapter هبثغ
Adapter
تغییر اسط ث گ ای و سریس دذ ب اتظبر آى را •
.دارذ
درخاست ب را از سیستن ال هی گیرد آى ب را ث گ •
ای تغییر هی دذ و ثرای سیستن دم لبثل درن اجرا
ثبضذ
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایبهؼبیتدست ثذیلیست الگبSingleton
Iterator
Adapter هبثغ
Adapter
سیستن لذین فك دذ سیستن جذیذ
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایبهؼبیتدست ثذیلیست الگبSingleton
Iterator
Adapter هبثغ
هبثغ• http://ooad.wordpress.com/category/
• http://sourcemaking.com/design_patterns
• http://en.wikipedia.org/wiki/Design_pattern_%28computer_s
cience%29
• http://barnamenevis.org/showthread.php/
• http://wwwipd.ira.uka.de/~tichy/patterns/overview.html
• http://sourcemaking.com/design_patterns
• http://www.blackwasp.co.uk/Adapter.aspx
• http://www.dofactory.com/Patterns/PatternAdapter.aspx
تؼریف الگتبریخچاجسای الگلبلت هستذ سبزیهسایبهؼبیتدست ثذیلیست الگبSingleton
Iterator
Adapter هبثغ