מה זה Design Patterns

Design patterns הם פתרונות בהנדסת תוכנה לשימוש רב פעמי לבעיות נפוצות. זה לא תבניות קוד, אלא קווים מנחים של איך לפתור את הבעיה בדרך ברורה ו-scalable למערכות גדולות.

יש כמה design patterns קלאסיים.

Creational Design Patterns

Singleton Pattern – מבטיח של-class יש מופע אחד בלבד ומספק נקודת גישה גלובלית למופע הזה.

Factory Method Pattern – מגדיר ממשק ליצירת אובייקט, אבל מאפשר ל-subclasses לשנות את סוג האובייקטים שיווצרו.

Abstract Factory Pattern – מספק ממשק ליצירת משפחות של אובייקטים שקשורים או תלויים ביניהם מבלי לציין את המחלקות הקונקרטיות שלהם.

Builder Pattern – מאפשר בניית אובייקטים מורכבים צעד אחרי צעד. דפוס של בניית אובייקט.

Prototype Pattern – יצירת מופע מאותחל שאפשר לשכפל או להעתיק.

Structural Design Patterns

Adapter Pattern – מאפשר ל-interface של class קיים להיות בשימוש של interface אחר.

Bridge Pattern – מפריד בין ההגדרה המופשטת של אובייקט למימוש שלו, כך שאפשר לשנות את המימוש באופן בלתי תלוי.

Composite Pattern – מחבר אובייקטים למבנה של עץ לייצוג היררכיות.

Decorator Pattern – חיבור אחריות נוספת לאובייקט באופן דינמי.

Facade Pattern – מספק ממשק מאוחד לקבוצת ממשקים במערכת.

Flyweight Pattern – שימוש בשיתוף על מנת לתמוך ביעילות במספר גדול של אובייקטים מפורטים.

Proxy Pattern – משמש כממלא מקום לאובייקט אחר כדי לשלוט בגישה אליו.

Behavioral Design Patterns

Chain of Responsibility Pattern – מעביר בקשה לאורך שרשרת של handlers.כשמגיעה בקשה, כל handler מחליט האם לעבד את הבקשה או להעביר אותה ל-handler הבא בשרשרת.

Command Pattern – אוסף בקשה לאובייקט, ובכך מאפשר למשתמשים להגדיר פרמטרים ל-clients עם תורים, בקשות ואופרטורים.

Interpreter Pattern – מספק דרך לתרגום שפה, מקבל ביטוי ומחזיר ביטוי מפורש.

Iterator Pattern – מספק דרך לגשת לאלמנטים של אוסף בצורה סדרתית בלי צורך לדעת את הייצוג של האלמנטים.

Mediator Pattern – מגדיר אובייקט בעל אוסף חוקים לתקשורת בין אובייקטים שונים.

Memento Pattern – שומר ומייצא מצב של אובייקט על מנת שיהיה אפשר לשחזר אותו.

Observer Pattern – מגדיר תלות של יחיד לרבים בין אובייקטים. כאשר אובייקט מסויים משנה את המצב שלו, כל התלויים בו יתעדכנו באופן אוטומטי.

State Pattern – מאפשר לאובייקט לשנות התנהגות כאשר המצב שלו משתנה.

Strategy Pattern – מגדיר משפחה של אלגוריתמים, מאגד אותם וגורם להם להיות הפיכים. האלגוריתם ישתנה בהתאם למי שמשתמש בו.

Template Pattern – מגדיר שלד של class אבל נותן ל-subclasses לדרוס חלקים שונים בלי לשנות את המבנה.

Visitor Pattern – מייצג פעולה שצריך לבצע של מבנה אובייקט.

כל Design Pattern מציע פתרון לבעיות אמיתיות בעולם התוכנה. הם מאגדים ניסיון של פתרון בעיות ועוזרים להשתמש בקוד קיים.

ניווט במאמר

מאמרים אחרונים

Weekly Tutorial

Design Pattern - ספר למתחילים