הפרדה בין DB ל GUI ?

../images/Emo221.gif הפרדה בין DB ל GUI ?

היי, יש לי טבלה עם רשומות טקסט, כל רשומה היא תאור של סרט DVD. כאשר הנתונים מוצגים באפליקציה (ASP.NET 1.1) אני מעוניין להדגיש מילים ספציפיות (BOLD). מכיוון שמדובר במילים שונות עבור כל סרט, ולא בחוקיות מסויימת, אני נאלץ להוסיף תגיות </b> <b> בתוך הרשומות בבסיס הנתונים . כלומר, בסיס נהתונים מחזיק גם מידע GUI... האם למישהו יש הצעה טובה יותר ?
 

הוליסטי

New member
בוודאי

אמנם אני לא מכיר .נט, אבל ב J2EE זה די דומה. לחשוב על תכנון אחר. וברצינות. בעיה כמו שאתה מציג היא code smell או יותר נכון design smell. האם בשלב ההצגה אתה יודע אם מילה צריכה להיות דגושה ? אם כן, שם אתה צריך להוסיף את הטאגים. אם לא, אז אולי לבנות ב DB שלך איזושהיא קישוריות שתייצג את המלים המיוחדות (וגם זה בעצם חיבור של VIEW ל MODEL). צר לי שלא עזרתי יותר
 
ואם נגיד מדובר בהודעות בפורומים ?

שבהם המילה המעוצבת נקבעת דינמית? איך אז תשמור את המידע ב-DB כך שהוא יהיה נקי מפקדי עיצוב?
 

עידו פ

New member
הצעה

אפשר לשמור בנוסף לטקסט, את התחלת וסוף המיקום במחרוזת של המילה שאותה ברצונך להדגיש. אם מדובר מספר מילים, אפשר לשמור את זה בתור טבלה נפרדת עם מפתח משולש (מספר סרט, מיקום התחלת הדגשה, מיקום סוף הדגשה). את המיקומים אתה שולף בנוסף למלל, ובהתאם למקום התצוגה שלך (web/win) תבצע את ההדגשה בהתאם, לפי המיקומים הנחוצים (במקרה שלך - השמה של <B> לפני ואחרי המיקומים) ככה אתה מפריד את אופן המימוש ב-UI מאופן שמירת הנתונים ב-DB
 

danistar

New member
תשמע .. מכיוון שאני חובב של סרטי

DVD ( ראה פורום 497 ) אני אענה לך בפשטות : כל דבר שקשור לפרמטרים של המערכת ( אם זה קשור לGUI או כל חלק אחר ) שאתה רוצה לשנות בלי לגעת בקוד , תוריד ל DB . זה הכי נוח . האפליקציות שאני בונה ( ולפעמים הבוס מתרגז עלי בגלל זה ) מלוות בהרבה מסכי ניהול של אדמיניסטרטור ואפשר לשנות משם כמעט כל המ שזז . אני בעד האסכולה שאם אפשר לא לגעת בקוד בכדי לשנות מפיין במערכת אז להוציא את זה החוצה . פעם היו שומרים את זה בקבצים , היום הכל נשמר ב DB או REGISTRY .
 

gewitter

New member
לא כדאי להמציא FML כבר?

Film Markup Language :)
Movie director <director>John Smith</director> already had a great success in the following films: <film>Lala</film>, <film>lili</film>, <film>lulu</film>. etc. etc.​
 

arnonrgo

New member
השאלה היא כמובן - מה הדרישות

הפתרון הכללי יחזיק את כל המידע לפורמט בטבלאות אחרות ויבנה את השדה בתצוגה בלבד. הפתרון הפשטני ביותר הוא מה שכתבת וישנם פתרונות באמצע למשל שדה שם (לטובת מניפולציות רגילות - למשל חיפושים וכו) ושדה שם לתצוגה (עם HTML) כמו שציינתי בנושא - השאלה מה הדרישות מהמערכת - למשל מה צריך לעשות מול השדה שם הזה ? האם יש איזו לוגיקה שניתן בלפיה להגדיר מה יודגש ? האם יש משמעות להדגשה (מילות מפתח?) וכו ארנון
 

gunahman

New member
למה להסתבך ?

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