CodeGym /בלוג Java /Random-HE /עיצוב תבניות ב-Java [חלק 1]
John Squirrels
רָמָה
San Francisco

עיצוב תבניות ב-Java [חלק 1]

פורסם בקבוצה
זהו מאמר קצר על דפוסי עיצוב בג'אווה. לא יהיו יישומי דפוסים, רק רשימה של דפוסים ב-Java יחד עם תיאור קצר של כל אחד מהם. למי שכבר מכיר את הנושא, זה יעזור כסקירה וסיכום. לעומת זאת, מי שלומד על דפוסים בפעם הראשונה ייהנה מכך כסקירה ראשונית של הנושא לפני שנחפור לעומק. עיצוב תבניות ב-Java [חלק 1] - 1 דפוסי עיצוב הם פתרונות מוכנים לשימוש למשימות תכנות שכיחות. זה לא כיתה או ספרייה שאפשר לחבר לפרויקט. זה משהו יותר. דפוסי עיצוב המתאימים לכל משימה מיושמים בכל מקרה ספציפי. כדאי לזכור שכאשר מיישמים אותו בצורה לא נכונה או למשימה לא מתאימה, דפוס עיצובי יכול ליצור המון בעיות. עם זאת, דפוס מיושם כהלכה יכול לעזור לך להשלים משימות בקלות ובפשטות.

סוגי דפוסים:

  • יְצִירִי
  • מִבנִי
  • התנהגותי
דפוסי יצירה מספקים מנגנוני אתחול, המאפשרים לך ליצור אובייקטים בדרכים נוחות. דפוסים מבניים מגדירים יחסים בין מחלקות ואובייקטים, ומאפשרים להם לעבוד יחד. דפוסי התנהגות משמשים כדי לפשט את האינטראקציה בין ישויות.

יְצִירִי:

  • Singleton - מגביל את יצירת המחלקה למופע בודד ומספק גישה לאותו מופע בודד.

  • Factory - משמש כאשר יש לנו מחלקה על עם מספר תת מחלקות ועלינו להחזיר תת מחלקה על סמך קלט.

  • מפעל מופשט - משתמש במפעל על ליצירת מפעלים, שבהם אנו משתמשים לאחר מכן ליצירת אובייקטים.

  • Builder - משמש ליצירת אובייקטים מורכבים באמצעות אובייקטים פשוטים. הוא יוצר בהדרגה אובייקט גדול מחפץ קטן ופשוט.

  • אב טיפוס - עוזר לשפר את הביצועים בעת יצירת אובייקטים כפולים; במקום ליצור אובייקט חדש, הוא יוצר ומחזיר שיבוט של אובייקט קיים.

מִבנִי:

  • מתאם - ממיר בין שני אובייקטים שאינם תואמים. אנו יכולים להשתמש בדפוס המתאם כדי לשלב שני ממשקים לא תואמים.

  • Composite - משתמש במחלקה אחת כדי לייצג מבנה עץ.

  • פרוקסי - מספק את הפונקציונליות של מחלקה אחרת.

  • משקל זבוב - עושה שימוש חוזר באובייקטים במקום ליצור מספר רב של אובייקטים דומים.

  • Facade - מספק ממשק פשוט ללקוח, המשתמש בממשק כדי ליצור אינטראקציה עם המערכת.

  • Bridge - הופך מחלקות ספציפיות לבלתי תלויות במחלקות המטשמות ממשק.

  • דקורטור - מוסיף פונקציונליות חדשה לאובייקט קיים מבלי להיקשר למבנה שלו.

התנהגותי:

  • שיטת תבנית - מגדירה אלגוריתם בסיסי ומאפשרת לצאצאים לעקוף כמה שלבים של האלגוריתם מבלי לשנות את המבנה הכללי שלו.

  • מתווך - מספק מחלקה מתווך המטפלת בכל התקשורת בין מחלקות שונות.

  • שרשרת אחריות - מאפשרת להימנע מתלות קפדנית בין השולח למקבל הבקשה; יתרה מכך, הבקשה יכולה להיות מעובדת על ידי מספר אובייקטים.

  • Observer - מאפשר לאובייקט אחד לנטר ולהגיב לאירועים המתרחשים באובייקטים אחרים.

  • אסטרטגיה - מאפשרת לשנות אסטרטגיות (אלגוריתמים) בזמן הריצה.

  • Command - ממשק שמצהיר על שיטה לביצוע פעולה ספציפית.

  • מצב - מאפשר לאובייקט לשנות את התנהגותו בהתאם למצבו.

  • מבקר - משמש לפישוט פעולות על קבוצות של אובייקטים קשורים.

  • מתורגמן - מגדיר דקדוק לשפה פשוטה בתחום הבעיה.

  • איטרטור - ניגש ברצף לאלמנטים של אוסף מבלי לדעת את הצורה הבסיסית שלו.

  • Memento - משמש לאחסון מצב של אובייקט; ניתן לשחזר מצב זה מאוחר יותר.

כשאתה עובר את קורס CodeGym, אתה תיתקל בכמה דפוסים ברשימה זו. אני ממליץ על המשימות הבאות לגבי דפוסים: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... שימוש מושכל בדפוסי עיצוב מוביל לתחזוקת קוד אמינה יותר, מכיוון שבנוסף לעובדה שדפוסי עיצוב הם פתרונות טובים לבעיות נפוצות , מפתחים אחרים יכולים לזהות אותם, ולצמצם את הזמן הנדרש לעבודה עם קוד מסוים.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION