פורסם 2006 בנובמבר 2118 שנים שוב ממש ממליץ לקרוא על זה פה:http://www.omg.org/cgi-bin/doc?omg/03-06-01זה PDF אז תוריד את זה עדיף, מאשר לראות בדפדפןמה שכןכדי שיהיה לך יותר קל כל העסק הזה של פיענוח הקלט של המשתמש אתה צריך לקרוא על אוטומטיםFINAL STATE MACHINEזה אמור לעזור לך מאוד!אני לא יודע עד כמה באמת אפשר ליצור מחלקה בזמן ריצההרעיון שאני כנראה רודף הוא קריאה של המבנה ב UML שזה מעיין XML של UMIואז להכניס את זה לHASH SET ב JAVA ולהמיר את הקודאני לא בטוח עד כמה זה קשור אליך, אבל הרעיון של ליצור מחלקה בזמן ריצה ממש מוצא חן בעיני, לא חשבתי על הכיוון הזה..... מעניין מאוד ..
פורסם 2006 בנובמבר 2118 שנים צריך להבדיל בין לכתוב ב- java תוכנית שיוצרת class של Java, לבין לכתוב ב- Java תוכנית שיוצרת Class של שפה משלכם.עד כמה שידוע לי, java לא מאפשרת ליצור class חדש לגמרי, אלא מאפשרת (בעזרת proxy) ליצור משהו שמתנהג כמו class חדש, אבל בעצם ממומש ע"י זה שהוא מתלבש על קריאות לפונקציות (אגב, המנגנון הזה די איטי).כל הזמן שמדברים רק על classes שמחזיקים data והפונקציונליות היחידה שצריכים היא גישה למידע הזה, אין סיבה אמיתית לנצל את המנגנון הזה, כי אפשר לממש פונקציה אחת שלוקחת את שם המשתמש והערך שלו ועושה השמה, ועוד פונקציה שלוקחת את שם המשתמש ומחזירה את הערך שלו.אם רוצים להשתכלל אפשר להוסיף גם חוקי validation.אם אתה באמת רוצה להוסיף גם פונקציונליות חדשה, אתה צריך לחשוב איך המשתמש ייתאר לך את הפונקציונליות הזה - ואני מניח שאתה לא מצפה ממנו לכתוב java כי אחרת לא הייתה צריך את כל הסיפור הזה.מה שיוצא אתה בעצם כותב ב- java קלאס של שפה אחרת...
פורסם 2006 בנובמבר 2118 שנים הרעיון שאני מדבר עליו (אם היית מקדיש איזה דקה של רפרוף) מדבר על קבלת אוטומט המתאר תוכנית.התוכנית שלי ב JAVA אמורה לקרוא את זה ו"להבין" את זה, ואז לבנות את המבנה בזכרון. משם אני לוקח את זה הלאה לבנית המבנה בצורה כללית שמתאימה לכל שפה, ואז אני אמור לקבל קובץ המיצג מבנה של שפת תכנות קיימת כגון C# או JAVA ובהתאם בונה להם קוד מקור שמשתמש במבנה הנתונים הזההרעיון מיועד לשימוש במצבים בהם סביבת העבודה מתפתחת, וכאשר המתכנת רוצה לשנות/להוסיף משהו הוא לא צריך להתחיל לבנות את התוכנית מחדש או לעבור שעות ארוכות של עידכונה, התוכנה תקרא את המבנה ותיצר אותו מחדש, כמו קסם פשוט! (-:
פורסם 2006 בנובמבר 2218 שנים OMG מדבר על זה שהקלט הוא לא אוטומט, אלא מודל בשפה כמו UML, והפלט בעצם הוא תוכנית בשפה אחרת (למשל ג'אוה).כלים כאלה כבר קיימים בסביבות עבודה מתקדמות. (נמצא למשל ב- Visual Studio 2005 Architect).הרעיון מיועד לשימוש במצבים בהם סביבת העבודה מתפתחת, וכאשר המתכנת רוצה לשנות/להוסיף משהו הוא לא צריך להתחיל לבנות את התוכנית מחדש או לעבור שעות ארוכות של עידכונה, התוכנה תקרא את המבנה ותיצר אותו מחדש, כמו קסם פשוט!זאת צורת עבודה של plugins, וזה ממש לא ייחודי ל- OMG - אפשר לממש את זה בכל שפת תכנות שמאפשרת טעינה דינאמית של ספריות (למרות שזה הרבה יותר קל בשפה שיש בה reflection).למעשה כבר בגרסאות הראשונות של דלפי היה אפשר לכתוב קוד בדלפי שנכנס לתוך סביבת העבודה ומרחיב אותה. כנ"ל ב- eclipse.מה שכןכדי שיהיה לך יותר קל כל העסק הזה של פיענוח הקלט של המשתמש אתה צריך לקרוא על אוטומטיםFINAL STATE MACHINEזה אמור לעזור לך מאודמה שאתה מדבר עליו רלוונטי כשאתה כותב קומפיילר, וגם אז אתה לא חייב לבנות אוטומט בצורה מפורשת, אלא מספיק לבנות דקדוק חסר-הקשר ולהשתמש בכלים כמו yak ול- lex כדי לבנות את עץ תחביר.כיוון שבמקרה שדובר בו כאן אין ממש שפת תכנות אלא רק תכנון של מבני נתונים פשוטים, הרבה יותר קל להשתמש בפורמט קיים, למשל XML, כדי להשתמש בו לתיאור ה- classes.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.