ההבדל בין JDO לבין אובייקט Value

Anonim

JDO לעומת אובייקט Value

JDO היא טכנולוגיית התמדה של Java, שניתן להשתמש בה לאחסון POJO (רגיל אובייקטים Java העתיקה) אל מסדי נתונים ללא צורך להבין את היישומים הבסיסיים של חנויות נתונים שונות. אובייקט Value (הידוע גם בשם Data Transfer Object) הוא תבנית עיצוב מופשטת אשר מציגה את המושג של בעל נתונים פשוט לצורך העברת נתונים בין שכבות מרובות שכבות.

-> ->

מהו JDO?

JDO (Java Data Objects) מספק מנגנון כדי לספק התמדה לאובייקטים של Java וגישה למסד הנתונים. JDO הוא שקוף מאוד כי זה מאפשר למפתחי יישומים Java לגשת לנתונים הבסיסית מבלי לכתוב קוד ספציפי למסדי נתונים. ניתן להשתמש ב- JDO בכמה שכבות כולל Java Standard Edition, שרתי אינטרנט ורשת יישומים. JDO API הוא חלופה התמדה אחרים (שמירה על אובייקטים לאחר ההפלה של התוכנית) של אובייקטים Java כגון עריכה בסידרה, JDBC (Java DataBase קישוריות) ו EJB CMP (Enterprise JavaBeans ארכיטקטורה Container התמדה מנוהלים). JDO משתמש ב- XML ​​ושיפור של bittecode. היתרון העיקרי של שימוש ב- API JDO הוא שהם יכולים לאחסן נתונים ללא צורך ללמוד שפת שאילתות חדשה כגון SQL (אשר תלוי בסוג של אחסון נתונים). JDO הוא קל מאוד לשימוש שכן מפתחים יכולים להתמקד רק על מודל האובייקט שלהם תחום. לא רק זה, JDO מייעל קוד עצמו על פי גישה לנתונים. מכיוון ש- JDO API אינו מקפיד על סוג מאגר הנתונים, אותו ממשק יכול לשמש את מפתחי היישומים של Java כדי לאחסן אובייקטי Java לכל מאגר נתונים כולל מסד נתונים יחסיים, מסד נתונים אובייקט או XML. JDO הוא נייד מאוד כי שינוי או recompilation אין צורך לרוץ על יישומים שונים הספק.

-> ->

מהו אובייקט ערך?

אובייקט Value הידוע גם בשם Data Transfer Objects (DTO) הוא תבנית עיצוב מופשטת פשוטה העוסקת במיכל נתונים כדי להחזיק נתונים לצורך העברת נתונים בין שכבות ורבדים. למרות שהמונח המדויק ביותר עבור תבנית זו הוא אובייקט העברת הנתונים, עקב טעות בגירסה הראשונה של Core J2EE, הוא הוצג כאובייקט Value. למרות טעות זו תוקנה במהדורה 2, שם זה הפך פופולרי והוא עדיין בשימוש בכבדות במקום אובייקט העברת נתונים (אבל יש לציין כי המונח הנכון הוא אובייקט העברת נתונים). דפוס DTO עיצוב משמש עם שעועית ישות, JDBC ו JDO כדי לתקן בעיות המתרחשות לגבי בידוד עסקאות ביישומים ארגוניים. חשוב לציין כי אלה הם רק בעלי נתונים פשוטים המשמשים להעברת נתונים בין הלקוח לבין מסד הנתונים והם אינם מספקים התמדה מכל סוג שהוא.DTO משרתת את מטרת המשחק כמו אובייקטים serializable ב EJB המסורתית (כמו שעועית ישות לפני 3. 0 אינם serializable). בשלב הרכבה נפרד המוגדר על ידי DTO, כל הנתונים המשמשים את התצוגה נרכשים ו marshaled לפני שחרור השליטה לשכבת המצגת.

-> ->

מה ההבדל בין JDO לבין אובייקט ערך?

JDO היא למעשה טכנולוגיית התמדה המשמשת לאחסון אובייקטי Java למסדי נתונים המספקים נוחות למפתחים על ידי טיפול בכל פרטי רמת היישום ומאפשר למפתחים להתמקד בקידוד שאינו ספציפי למסד נתונים. עם זאת, אובייקט הערך מייצג תבנית עיצוב מופשטת (לא טכנולוגיה) המספקת בעל נתונים גנרי המכונה אובייקט העברת נתונים, אשר יכול להכיל נתונים לצורך העברה בין לקוח ומסדי נתונים. JDO מספק את המתקן של פריטים נתונים מתמשכת, ואילו אובייקט ערך רק עוסק שמירה על נתונים באופן זמני במהלך תקופת העברת הנתונים. במילים אחרות, אובייקט הערך אינו מספק התמדה.