AOP lwn OOP
AOP (pengaturcaraan berorientasikan aspek) dan OOP (pengaturcaraan berorientasikan objek) ialah dua paradigma pengaturcaraan. Paradigma pengaturcaraan ialah gaya asas pengaturcaraan komputer. Paradigma pengaturcaraan berbeza dalam cara setiap elemen program diwakili dan cara setiap langkah ditakrifkan untuk menyelesaikan masalah. Seperti namanya, OOP memfokuskan pada mewakili masalah menggunakan objek dunia sebenar dan kelakuannya, manakala AOP menangani memecahkan program untuk memisahkan kebimbangan silang.
Apakah itu AOP?
AOP ialah paradigma pengaturcaraan, yang memperkatakan pemecahan program kepada bidang fungsi yang padu (dipanggil kebimbangan) yang merentasi berbilang kawasan, untuk meningkatkan modulariti. Sokongan untuk abstraksi (seperti kelas, kaedah, dll.) untuk mengumpulkan dan merangkum kebimbangan kepada entiti unik disediakan dalam banyak paradigma pengaturcaraan lain. Tetapi kebimbangan (seperti "Pembalakan") adalah contoh kebimbangan pemotongan silang, kerana setiap bahagian sistem yang dilog dipengaruhi oleh strategi yang digunakan untuk pembalakan. Tumpuan utama semua pelaksanaan AOP adalah untuk mempunyai ungkapan potong silang yang sesuai untuk menangkap semua kebimbangan di satu lokasi.
Apakah itu OOP?
Dalam OOP, tumpuan adalah pada memikirkan masalah yang perlu diselesaikan dari segi unsur dunia sebenar dan mewakili masalah dari segi objek dan tingkah lakunya. Kelas menggambarkan perwakilan abstrak objek dunia sebenar. Kelas adalah seperti cetak biru atau templat, yang mengumpulkan item atau perkara serupa yang boleh dikumpulkan bersama. Kelas mempunyai sifat yang dipanggil atribut. Atribut dilaksanakan sebagai pembolehubah global dan contoh. Kaedah dalam kelas mewakili atau mentakrifkan kelakuan kelas ini. Kaedah dan atribut kelas dipanggil ahli kelas. Contoh kelas dipanggil objek. Oleh itu, objek ialah struktur data yang hampir menyerupai beberapa objek dunia sebenar.
Terdapat beberapa konsep OOP penting seperti Abstraksi data, Enkapsulasi, Polimorfisme, Pemesejan, Modulariti dan Warisan. Biasanya, enkapsulasi dicapai dengan menjadikan atribut peribadi, sambil mencipta kaedah awam yang boleh digunakan untuk mengakses atribut tersebut. Warisan membolehkan pengguna melanjutkan kelas (dipanggil subkelas) daripada kelas lain (dipanggil kelas super). Polimorfisme membenarkan pengaturcara untuk menggantikan objek kelas sebagai ganti objek kelas supernya. Lazimnya, kata nama yang terdapat dalam definisi masalah terus menjadi kelas dalam program. Dan begitu juga, kata kerja menjadi kaedah. Beberapa bahasa OOP yang paling popular ialah Java dan C.
Apakah perbezaan antara AOP dan OOP?
Perbezaan utama antara OOP dan AOP ialah fokus OOP adalah untuk memecahkan tugas pengaturcaraan ke dalam objek, yang merangkum data dan kaedah, manakala fokus AOP adalah untuk memecahkan atur cara kepada merentasi kebimbangan. Malah, AOP bukan pesaing untuk OOP, kerana ia muncul daripada paradigma OOP. AOP memanjangkan OOP dengan menangani beberapa masalahnya. AOP memperkenalkan cara yang kemas untuk melaksanakan kebimbangan pemotongan silang (yang mungkin telah tersebar di beberapa tempat dalam pelaksanaan OOP yang sepadan) di satu tempat. Oleh itu, AOP menjadikan program lebih bersih dan lebih longgar.