Factory Pattern חלק ב (מעשי)

מדריך למימוש Factory Pattern (חלק ב – מעשי)

לאחר שהבנו בפוסט הקודם מה המוטיבציה לשימוש ב- Factory Pattern , כיצד בנויה תבנית זו ומתי נרצה להשתמש בה, הגיע הזמן לרדת לפרטים ולהתחיל לכתוב קוד.
נתחיל בקוד כללי של Factory כדי שנוכל להבין איך נכון לממש, ומה היתה הכוונה עד עכשיו, ולאחר מכן נעבור לכתיבת קוד “אמיתי” יותר לדוגמה מהפוסט הקודם על מפעל לייצור פלאפונים.

קוד כללי ל-Factory Pattern

נתחיל עם הקוד המייצג את מחלקות התוצרים :

אז מה אנחנו רואים פה:
  • Product – ממשק (interface) לייצוג אובייקט מסוג כלשהו (ניתן להגדיר בו התנהגויות מסויימות המאפיינות את התוצר)
  • ConcreteProductA, ConcreteProductB – מחלקות אלו ממשות את Product, ומייצגות אובייקטים (תוצרים) כלשהם.
כעת נעבור לחלק העיקרי בתבנית, הקוד שמייצר עבורנו את האובייקטים :

גם כאן הקוד דיי פשוט :

  • Creator – מחלקה אבסטרקטית ליצרת אובייקט, תמיד תיהיה בה מתודה אחת לפחות, שמיצרת את האובייקט, שאותה המחלקות היורשות חייבות לממש.
  • ConcreteCreatorA, ConcreteCreatorB – מחלקות המייצרות אובייקט ספציפי.
ולבסוף נראה תוכנית שמשתמשת בקוד הזה:

באופן פשוט, אנחנו מצהירים על אובייקט מסוג Creator, בכל פעם מאתחילים אותו באובייקט אחר, ויוצרים אובייקט חדש בכל פעם.
פלט התוכנית יראה כך:
Hello Product A
Hello Product B

מימוש בעיית מפעל הפלאפונים

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

ועכשיו מובן שהפלט של התוכנית הוא: 
Hello IPhone!
Hello Android!
עד כאן להיום.
מקווה שנהנתם.
אשמח לשמוע מכם בתגובות למטה.
נתראה בפעם הבאה עם עוד תבנית עיצוב שימושית ומעשית.

2 Replies to “Factory Pattern חלק ב (מעשי)”

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *