30-12-2009, 21:12
|
|
|
|
חבר מתאריך: 21.12.04
הודעות: 30,021
|
|
ברור שזה מטופש לייצר מחלקה שלמה כדי לבנות רק אובייקט אחד ממנה... כבר תבנה אותו בעצמך בלי לייבא את כל המחלקה...
השאלה היא - האם אתה סגור על זה שאותו אובייקט בודד יהיה בודד למשך כל חיי האפליקציה שלך?
לפעמים אנחנו נדרשים לבצע שינויים בקוד של תוכנה שכבר עובדת, ופיתוח ב OOP בד"כ מאפשר לנו ליצור אובייקטים נוספים ממחלקות מסויימות, שחשבנו שלעולם לא נצטרך יותר מאובייקט אחד מהסוג שלהן.
אז נכון שאם אתה בוחר בדרך מסויימת, אז בסוף העבודה אתה יכול להגיד "חבל שבחרתי בייבוא מחלקה שלמה בשביל אובייקט בודד", אבל אולי בעתיד זה ישתלם לך?
אני חושב שככל שתכתוב יותר תוכניות, אתה כבר תרגיש מראש עד כמה המערכת הזו צפויה לעבור שינויים.
זה איזה שהוא מקדם סיכון שאתה צריך לקחת, ולפי המקדם הזה לבחור האם לבנות את המערכת ב OOP או פרוצדורלי (או כל דרך אחרת).
מצד אחד, זה טוב שקוד יהיה קריא ונוח להבנה, אבל ככל שהמערכת שלך גדולה יותר ומסועפת יותר - אתה רוצה גם לאפשר יותר ויותר גמישות לשינויים.
קל מאוד לתקן פונקציה בקוד של 100 שורות, אבל לא תמיד קל לתקן דברים בקוד של 2000 שורות.
לכן כדאי לא לחסום אופציות, ואפילו אם זה מסרבל כביכול את הקוד - כדאי להשאיר לך מרחב תמרון ועבודה לשינויים לא צפויים.
עדיף קוד פחות קריא אבל יותר גמיש, מלהתקע עם קוד שכתוב נהדר, אבל בגלל שינוי לא צפוי תאלץ לכתוב אותו מההתחלה כי אי אפשר לתקן ולשנות למצב שהלקוח רוצה.
|