JavaRush /בלוג Java /Random-HE /דפוסי עיצוב ב-Java [חלק 1]
Ivan Zaitsev
רָמָה
Киев

דפוסי עיצוב ב-Java [חלק 1]

פורסם בקבוצה
זהו מאמר קצר על דפוסי עיצוב בג'אווה. לא יהיה יישום של דפוסים, יש רק רשימה של דפוסים שקיימים ב-java והתוכן הקצר שלהם. זה יהיה שימושי למי שכבר עוסק בנושא לחזרה והכללה. או להיפך, למי שניגש לדפוסים בפעם הראשונה - לסקירה הראשונה של הנושא, לפני שנחפור לעומק. תבניות עיצוב (תבניות עיצוב) הן פתרונות מוכנים לשימוש לבעיות תכנות שנתקלות לעתים קרובות. זו לא כיתה או ספריה שאפשר לחבר לפרויקט, זה משהו יותר. דפוסי עיצוב המתאימים למשימה מיושמים בכל מקרה ספציפי. צריך לזכור שדפוס כזה, אם מיושם בצורה לא נכונה או על בעיה לא נכונה, יכול לגרום להרבה בעיות. עם זאת, דפוס מיושם נכון יעזור לפתור את הבעיה בקלות ובפשטות. תבניות עיצוב ב-Java [חלק 1] - 1סוגי דפוסים :
  • יוצר
  • מִבנִי
  • התנהגותי
דפוסי יצירה מספקים מנגנוני אתחול, המאפשרים לך ליצור אובייקטים בצורה נוחה. דפוסים מבניים מגדירים את היחסים בין מחלקות ואובייקטים, ומאפשרים להם לעבוד יחד. דפוסי התנהגות משמשים כדי להקל על אינטראקציות בין ישויות. גנרטורים :
  • Singleton - מגביל את היצירה של מופע אחד של מחלקה ומספק גישה לאובייקט היחיד שלה.
  • Factory - משמש כאשר יש לנו מחלקה על עם מספר תת מחלקות ובהתבסס על הקלט, עלינו להחזיר אחת מתת המחלקה.
  • מפעל מופשט - השתמש במפעל על כדי ליצור מפעל, ולאחר מכן השתמש במפעל שנוצר כדי ליצור אובייקטים.
  • Builder - משמש ליצירת אובייקט מורכב באמצעות אובייקטים פשוטים. בהדרגה הוא יוצר אובייקט גדול יותר מחפץ קטן ופשוט.
  • אב טיפוס - עוזר ליצור אובייקט משוכפל עם ביצועים טובים יותר, במקום חדש נוצר שיבוט מוחזר של האובייקט הקיים.
מבני :
  • מתאם הוא ממיר בין שני אובייקטים שאינם תואמים. באמצעות תבנית המתאם, אנו יכולים לשלב שני ממשקים לא תואמים.
  • Composite - משתמש במחלקה אחת כדי לייצג מבנה עץ.
  • פרוקסי - מייצג את הפונקציונליות של מחלקה אחרת.
  • משקל זבוב - במקום ליצור מספר רב של חפצים דומים, נעשה שימוש חוזר בחפצים.
  • חזית - מספקת ממשק פשוט ללקוח, והלקוח משתמש בממשק לאינטראקציה עם המערכת.
  • Bridge - הופך מחלקות בטון לבלתי תלויות במחלקות יישום ממשק.
  • דקורטור - מוסיף פונקציונליות חדשה לאובייקט קיים מבלי להתחייב למבנה שלו.
התנהגותי :
  • שיטת תבנית - מגדירה את הבסיס של האלגוריתם ומאפשרת ליורשים להגדיר מחדש כמה שלבים באלגוריתם מבלי לשנות את המבנה שלו בכללותו.
  • מתווך - מספק כיתת מתווך המטפלת בכל התקשורת בין מחלקות שונות.
  • שרשרת אחריות – מאפשרת להימנע מתלות קפדנית של שולח הבקשה בנמען שלה, בעוד שהבקשה יכולה להיות מעובדת על ידי מספר אובייקטים.
  • Observer - מאפשר לאובייקטים מסוימים לנטר ולהגיב לאירועים המתרחשים באובייקטים אחרים.
  • אסטרטגיה - ניתן לשנות את אלגוריתם האסטרטגיה במהלך ביצוע התוכנית.
  • פקודה - ממשק הפקודה מכריז על שיטה לביצוע פעולה ספציפית.
  • מצב - עצם יכול לשנות את התנהגותו בהתאם למצבו.
  • מבקר - משמש לפישוט פעולות על קבוצות של אובייקטים קשורים.
  • מתורגמן - מגדיר דקדוק שפה פשוט עבור תחום בעייתי.
  • איטרטור - ניגש ברצף לאלמנטים של אובייקט אוסף מבלי לדעת את הייצוג הבסיסי שלו.
  • Memento (Keeper) - משמש לאחסון מצב של אובייקט, מצב זה ניתן לשחזור מאוחר יותר.
תוך כדי קורס JavaRush, תיתקל בכמה תבניות מרשימה זו. אני ממליץ על בעיות דפוס: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... שימוש חכם בדפוסי עיצוב מוביל לאמינות תחזוקת קוד מוגברת מכיוון שבנוסף להיותו פתרון טוב לבעיה נפוצה, ניתן לזהות דפוסי עיצוב על ידי מפתחים אחרים , מה שמפחית את זמן העבודה עם קוד מסוים. דפוסי עיצוב ב-Java [חלק 2]
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION