מה זה persistence layer ?

מתכNET

New member
תשובה:

זו פשוט השכבה ששומרת את האובייקטים בבסיס נתונים השכבה מאפשר לך להחליף בסיס נתונים ללא שינוי בקוד שמשתמש באובייקטים ואולי אפילו להחליף את המבנה של בסיס הנתונים(הכוונה לשנות את הטבלאות) ללא שינוי האובייקטים. ממבט ראשון נראה לי קקה של דבר(המוצר הספציפי הזה) אני מעדיף את הגישה של NPERSIST ב www.puzzleframework.com/ בכל מקרה תחכה ל ADO.NET vNext לפני שאתה נכנס להרפתקאות בנוסח אבודים....
 
זה מעניין.

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

מתכNET

New member
כן גם אני לא כל כך הבנתי כי לא

טרחתי להוריד את הכלי עדיין.
 

EdotK

New member
../images/Emo31.gif

persistance layer שונה מDAL סטנדרטי, בכך שהוא "מנהל" את ה Persistancy של האובייקטים העסקיים שלך. אתה פשוט מראה לו מה הקישור בין האובייקטים לטבלאות - והוא עושה את רוב העבודה בצורה יפה מאחורי הקלעים (פחות או יותר). הפלוסים של העבודה בסגנון הזה הם שזה מאוד אינטואיטיבי, ועובד ממש בקלות, עם עקומת לימוד די נמוכה. המינוסים הם בעיקר שזה עובד לך כ BlackBox, ולא ברור לך מה הוא עושה ואיך (אם כי תמיד אתה יכול להפעיל Profiler ולראות מה בפועל עובר ומתי לבסיס הנתונים). דוגמא מאוד יפה לכך אפשר למצוא בפרוייקט הקוד פתוח ActiveRecord, שמיודענו אורן שייך לצוות הפיתוח שלו. ActiveRecord מבוסס על NHibernate (שהוא כלי ORM די מוכר). אני ספציפית לא אוהב את הפתרון הזה, ומעדיף לכתוב DAL בכוחות עצמי ע"י ג'נרות קוד (CodeSmith ודומיו), כי כך השליטה שלי הרבה יותר טובה במה שקורה. אני ממליץ שגגל קצת על ההבדלים בין DAL ל ORM לPersistancy Layer, ותחליט מה אתה הכי אוהב. בקשר לשאלה שלך לפני כמה ימים לגבי TDS: TDS לא עובד יפה. יצא לי לעבוד איתו באחד הפרוייקטים הכי גדולים שלי עד עכשיו וחודשיים לתוך הפרוייקט נשברתי וחיפשתי פתרונות אחרים. יש לו כל מיני בעיות,קשה לדבג אותו (הוא נותן הודעות שגיאה מאוד לא ברורות) ומבחינת ארכיטקטורה זה לא בנוי נכון (גורם לבלבול בין שתי השכבות, הBL והDAL). עצתי היא שתוריד את CodeSmith ואת MyGeneration ותבדוק את הTemplateים שלהם ליצירת BusinessObjects וDALים למיניהם, ותראה איך מיישמים את זה שם. זה הפתרון שנותן לך הכי הרבה כוח, ומאפשר לך לעבוד בארכיטקטורה בדיוק כמו שאתה רוצה.
 
תודה,

אכן mygen עושה עבודה נפלאה. ועכשיו שלמדתי את הטריק איך לעשות תכנון ויזואלי ועדיין להשתמש במודל השכבות, עולם חדש נפתח בפני.
 

EdotK

New member
עוד המלצה

תנסה את CodeSmith. MyGeneration חינמי, אבל הממשק שלו פחות נוח בהרבה. כמו כן, CodeSmith בגרסה האחרונה מתממשק ישירות לVS2005 ממש יפה. (אבל עולה 400$ לרשיון, 30 יום חינם)
 
למעלה