სხვაობა AOP-სა და OOP-ს შორის

სხვაობა AOP-სა და OOP-ს შორის
სხვაობა AOP-სა და OOP-ს შორის

ვიდეო: სხვაობა AOP-სა და OOP-ს შორის

ვიდეო: სხვაობა AOP-სა და OOP-ს შორის
ვიდეო: Crypto Pirates Daily News - February 10th, 2022 - Latest Cryptocurrency News Update 2024, ნოემბერი
Anonim

AOP vs OOP

AOP (ასპექტზე ორიენტირებული პროგრამირება) და OOP (ობიექტზე ორიენტირებული პროგრამირება) პროგრამირების ორი პარადიგმაა. პროგრამირების პარადიგმა არის კომპიუტერული პროგრამირების ფუნდამენტური სტილი. პროგრამირების პარადიგმები განსხვავდება იმით, თუ როგორ არის წარმოდგენილი პროგრამის თითოეული ელემენტი და როგორ არის განსაზღვრული თითოეული ნაბიჯი პრობლემების გადასაჭრელად. როგორც სახელი გვთავაზობს, OOP ყურადღებას ამახვილებს პრობლემების წარმოდგენაზე რეალურ სამყაროში არსებული ობიექტების და მათი ქცევის გამოყენებით, ხოლო AOP ეხება პროგრამების დაშლას ჯვარედინი საზრუნავების განცალკევებაზე.

რა არის AOP?

AOP არის პროგრამირების პარადიგმა, რომელიც ეხება პროგრამის დაშლას ფუნქციონალურობის შეკრულ სფეროებში (ე.წ. შეშფოთება), რომლებიც ჭრიან მრავალ სფეროს, მოდულარობის გაზრდის მიზნით.აბსტრაქციების (როგორიცაა კლასები, მეთოდები და ა.შ.) მხარდაჭერა უნიკალურ ერთეულებში საზრუნავის დასაჯგუფებლად და ენკაფსულირებისთვის, მოცემულია პროგრამირების ბევრ სხვა პარადიგმაში. მაგრამ შეშფოთება (როგორიცაა „ლოგინგი“) არის ჯვარედინი შეშფოთების მაგალითები, რადგან სისტემის ყველა აღრიცხულ ნაწილზე გავლენას ახდენს ლოგინგისთვის გამოყენებული სტრატეგია. AOP-ის ყველა განხორციელების მთავარი აქცენტი არის შესაბამისი ჯვარედინი გამონათქვამები, რათა აღბეჭდოთ ყველა პრობლემა ერთ ადგილას.

რა არის OOP?

OOP-ში ყურადღება გამახვილებულია გადასაჭრელ პრობლემაზე ფიქრზე რეალური სამყაროს ელემენტების თვალსაზრისით და პრობლემის წარმოჩენაზე ობიექტებისა და მათი ქცევის თვალსაზრისით. კლასები ასახავს რეალური სამყაროს ობიექტების აბსტრაქტულ წარმოდგენებს. კლასები ჰგავს გეგმებს ან შაბლონებს, რომლებიც აგროვებენ მსგავს ნივთებს ან საგნებს, რომლებიც შეიძლება დაჯგუფდეს ერთად. კლასებს აქვთ თვისებები, რომელსაც ატრიბუტები ეწოდება. ატრიბუტები დანერგილია როგორც გლობალური და ინსტანციის ცვლადები. კლასებში არსებული მეთოდები წარმოადგენს ან განსაზღვრავს ამ კლასების ქცევას.კლასების მეთოდებსა და ატრიბუტებს კლასის წევრებს უწოდებენ. კლასის მაგალითს ეწოდება ობიექტი. მაშასადამე, ობიექტი არის მონაცემთა სტრუქტურა, რომელიც ძალიან ჰგავს რეალურ სამყაროში არსებულ ობიექტს.

არსებობს რამდენიმე მნიშვნელოვანი OOP ცნება, როგორიცაა მონაცემთა აბსტრაქცია, ინკაფსულაცია, პოლიმორფიზმი, შეტყობინებები, მოდულურობა და მემკვიდრეობა. როგორც წესი, ენკაფსულაცია მიიღწევა ატრიბუტების კონფიდენციალურობით, ხოლო საჯარო მეთოდების შექმნით, რომლებიც შეიძლება გამოყენებულ იქნას ამ ატრიბუტებზე წვდომისთვის. მემკვიდრეობა საშუალებას აძლევს მომხმარებელს გააფართოვოს კლასები (ე.წ. ქვეკლასები) სხვა კლასებიდან (ე.წ. სუპერ კლასები). პოლიმორფიზმი საშუალებას აძლევს პროგრამისტს შეცვალოს კლასის ობიექტი მისი სუპერ კლასის ობიექტის ნაცვლად. როგორც წესი, პრობლემის განსაზღვრაში ნაპოვნი არსებითი სახელები პირდაპირ ხდებიან კლასები პროგრამაში. და ანალოგიურად, ზმნები ხდებიან მეთოდებად. ზოგიერთი ყველაზე პოპულარული OOP ენაა Java და C.

რა განსხვავებაა AOP-სა და OOP-ს შორის?

OOP-სა და AOP-ს შორის მთავარი განსხვავება ისაა, რომ OOP-ის ფოკუსი არის პროგრამირების ამოცანის დაშლა ობიექტებად, რომლებიც აერთიანებს მონაცემებსა და მეთოდებს, ხოლო AOP-ის ფოკუსი არის პროგრამის დაშლა ჯვარედინი საკითხებში..სინამდვილეში, AOP არ არის OOP-ის კონკურენტი, რადგან ის OOP პარადიგმიდან გაჩნდა. AOP ავრცელებს OOP-ს მისი რამდენიმე პრობლემის გადაჭრით. AOP წარმოგიდგენთ ჯვარედინი შეშფოთების (რომლებიც შესაძლოა მიმოფანტული იყო რამდენიმე ადგილას შესაბამის OOP განხორციელების) ერთ ადგილზე განსახორციელებელ გზებს. ამიტომ, AOP ხდის პროგრამას უფრო სუფთა და უფრო თავისუფლად დაკავშირებულს.

გირჩევთ: