פורסם 2010 ביולי 915 שנים מסכים עם דובי זובי. אין צורך להשתמש ב-DLL כלל וזה סתם יאריך את העבודה. משתמשים בקבצי DLL כאשר עלינו להשתמש באותם הפונקציות במספר תוכנות שונות (Dynamic Link Library). כאשר בונים תוכנה פשוטה או רק לשם למידה אין צורך לחלק את הקוד למחלקות וזה סתם עלול לבלבל. כאשר הוא יתקדם והתוכנות יהיו הרבה יותר מורכבות כאן מחלקות יכנסו לתמונה ואולי DLL כאשר יצטרך את אותם הפונקציות למספר תוכנות. כמה שאני אוהב לחלק את הקוד שלי למחלקות - לדעתי בתור התחלה זה רק יבלבל. יש הבדל בין להפריד לDLL לבין שימוש במחלקות. שניצל - refactoring זה טוב ויפה שצריך לתקן\לשפר מצב קיים - אבל למה מראש לעבוד בצורה לא נכונה? דובי - לעשות signature casting לקוד של האלגוריתם ככה שייכנס בקלות לתוך event handler של לחיצת כפתור - זה כבר באמת מגעיל קידוד בצורה כזאת שוחט כל זכר ל readability / scalability / מילים יפות אחרות
פורסם 2010 ביולי 1115 שנים יש הבדל בין להפריד לDLL לבין שימוש במחלקות. שניצל - refactoring זה טוב ויפה שצריך לתקן\לשפר מצב קיים - אבל למה מראש לעבוד בצורה לא נכונה? דובי - לעשות signature casting לקוד של האלגוריתם ככה שייכנס בקלות לתוך event handler של לחיצת כפתור - זה כבר באמת מגעיל קידוד בצורה כזאת שוחט כל זכר ל readability / scalability / מילים יפות אחרות יש ויש, כתיבת 100 מחלקות שבפועל לא עושות כלום זה טיפשי, ראיתי כבר אנשים כותבים classים שלמים שלא עושים כלום חוץ מלעטוף קלאס קיים בשם יותר יפה, אם התפקיד היחידי של הכפתור יהיה לדוגמא להעתיק קובץ ממקום X למקום Y נראה לך שבשביל זה צריך לכתוב מחלקה שלמה?
פורסם 2010 ביולי 1315 שנים לפותח התראד - אתה יכול להסביר בידיוק מה אתה צריך לעשות? מה אתה מנסה לעשות? מה התוכנית שלך עושה? וכו'.
פורסם 2010 ביולי 1415 שנים מחבר האמת שאני לא צריך לפתח איזה תוכנה או משהו כזה לבנתיים , רק פשוט עיניין אותי ללמוד איך ניתן לעשות דבר כזה. סתם לשם הפשייטות בוא נגיד שסתם כתבתי אלגוריתם שנכתב ב-Console שמקבל מספר שלם ומחשב שורש ריבועי שלו. עכשיו אני רוצה לשלב את האלגוריתם הזה בממשק גרפאי נוח יותר מאשר חלון ה-DOS. למשל סתם לשם הדוגמא משהו כזה: איך ניתן לעשות דבר כזה? ב-C#
פורסם 2010 ביולי 1415 שנים *כל זה נכתב בהנחה שאתה עובד עם ויז'ואל סטודיו*תעשה פרוייקט חדש ותבחר ב-Windows forms application ב-Templates.ייפתח פרוייקט חדש כאשר המחלקה שמייצגת את ה-Form פתוחה. משמאל יהיה לך tool box. תגרור משם כפתור ו-textbox לתוך ה-Form.תעשה דאבל קליק על הכפתור. עכשיו כל קוד שתכתוב בפנים יקרה כשילחצו על הכפתור. זה הכל. אתה יכול להעתיק לפה את החלק בקוד שעושה את החישוב שלך. מה שישתנה זה המשתנים עצמם - קודם עבדת עם משהו שהגיע מהקונסול, פה אתה לוקח מתיבת טקסט. כדי לגשת למה שכתוב בפנים אתה עושה textbox1.Text - צריך לזכור שזה משתנה מסוג סטרינג, אז צריך להמיר אותו ל-int כדי לעשות איתו חישובים.
פורסם 2010 ביולי 1415 שנים בנית בקונסול פונקציה שמקבלת פרמטר של מספר ומחזירה את השורש?אז כמו שהציעו מעלי, תבנה את הכפתור, אבל בקוד שלו רק תקרא את הנתון מתיבת הערך, תשלח לפונקציה שבנית קודם. ואחרי זה תעביר את התשובה לתיבת הפלט.הפונקציה המקורית לא צריכה להשתנות (אם בנית אותה נכון בלי קלט ופלט)
פורסם 2010 ביולי 1415 שנים Console Application ו- Windows Application אלו שני דברים שונים, כאשר בתוכם אפשר להגדיר כמה מחלקות שאתה רוצה. כל מחלקה יכולה להכיל לוגיקה אחרת.אין טעם להריץ תהליך כ- Windows Application, ובתוכו להריץ תהליך חדש של Console Application. למעשה, זה ישיג בידיוק את התוצאה ההפוכה ממה שרצית, והקוד ירוץ לאט יותר (בגלל התהליך הארוך יחסית של עליית האפליקציה, במיוחד אם מדובר ב- .net).אם אתה מעוניין בכל זאת בחלוקה הלוגית הזו, עדיך שתיצור מחלקה נוספת שתכיל את הלוגיקה של חישוב השורש, כפי שכבר ציינו כאן. למעשה, כדי לתרגל קצת יותר טוב תכנות מונחה עצמים, אתה יכול ליצור interface עם מתודה שיודעת לבצע פעולה על מספר (double לדוגמא). מהמחלקה הזו אתה יכול לרשת ולממש את המתודה ככזו שמבצעת שורש. באותו מידה, אתה יכול לממש מחלקה נוספת שתדע להעלות בחזקת 2 (ופעולות רבות נוספות).תתפרע.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.