../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ים למיניהם, ותראה איך מיישמים את זה שם. זה הפתרון שנותן לך הכי הרבה כוח, ומאפשר לך לעבוד בארכיטקטורה בדיוק כמו שאתה רוצה.