ההבדל בין AOP ו- OOP

Anonim

AOP לעומת OOP

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

-> ->

מה זה AOP?

AOP היא פרדיגמת תכנות, שעוסקת בפירוק תוכנית לכדי אזורים מלוכדים של פונקציונליות (הנקראים 'עניינים') החוצים אזורים מרובים, על מנת להגדיל את המודולריות. תמיכה בהפשטות (כגון שיעורים, שיטות וכו ') לקבץ ולתמצת את הדאגות לגופים ייחודיים ניתנת בפרדיגמות תכנות רבות אחרות. אבל חששות (כגון "רישום") הם דוגמאות של חששות crosscutting, כי כל חלק מחובר של המערכת מושפעת האסטרטגיה המשמשת לכניסה. המוקד העיקרי של כל מימושי AOP הוא שיש ביטויי crosscutting מתאים ללכוד את כל הדאגות במיקום אחד.

-> ->

מהו OOP?

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

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

מה ההבדל בין AOP ו- OOP?

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