1. Konsep Dasar
AspectJ adalah implementasi berbasis Java untuk pemrograman aspek. Ini menambahkan konsep baru dari Joint Point ke Java, tetapi sebenarnya itu hanya nama konsep Java yang ada. Ini menambahkan beberapa struktur baru ke bahasa Java: pointcut, notifikasi (saran), deklarasi antar tipe (deklarasi antar tipe) dan aspek (aspek). Kemiringan dan pemberitahuan secara dinamis mempengaruhi aliran program, deklarasi antar tipe adalah struktur hierarkis kelas statis dari program, dan garis singgung adalah enkapsulasi dari semua struktur baru ini.
Konsep berdasarkan bagian, titik koneksi, titik tangen, dan pemberitahuan adalah sebagai berikut:
Aspek: Deklarasi aspek mirip dengan deklarasi kelas di Java, dan berisi beberapa titik dan saran yang sesuai dalam aspek.
Titik Bersama: Merupakan titik yang ditentukan dengan jelas dalam program ini.
Pointcut: mewakili sekelompok titik bersama.
Saran: Saran mendefinisikan operasi spesifik yang harus dilakukan oleh titik program yang ditentukan dalam pointcut.
Titik koneksi adalah titik yang tepat dalam aliran program. Tangen mengumpulkan serangkaian titik koneksi tertentu dan nilai -nilai dalam titik -titik ini. Pemberitahuan adalah kode yang dijalankan ketika titik koneksi tiba, dan ini adalah bagian dinamis dari aspek. Faktanya, titik koneksi seperti pernyataan dalam suatu program, dan titik tangen adalah breakpoint yang ditetapkan pada pernyataan tertentu. Breakpoint ini. Ada juga banyak jenis deklarasi antar tipe dalam AspectJ, yang memungkinkan pemrogram untuk memodifikasi struktur statis, nama, anggota kelas, dan hubungan antar kelas. Aspek dalam aspek adalah unit modul yang melintasi fokus. Perilaku mereka mirip dengan kelas-kelas di Java, tetapi juga merangkum pemotongan titik, pemberitahuan, dan deklarasi antar tipe.
2. Bagaimana mengembangkan program AOP berdasarkan AJDT: Alat Pengembangan Aspek?
Ikuti instruksi di situs web AJDT untuk menginstal plugin AJDT di Eclipse http://www.eclipse.org/ajdt/
Buat Proyek Proyek AspectJ
Melakukan Pengembangan Kode (Artikel ini memberikan contoh sederhana)
3. Contoh Sederhana:
Salinan kode adalah sebagai berikut:
paket aop.test;
FigurElement antarmuka publik {
setxy public void (int x, int y);
draw public void ();
}
Salinan kode adalah sebagai berikut:
paket aop.test;
titik kelas publik mengimplementasikan figurElement {
int x publik;
int y private;
publik int getx () {
mengembalikan x;
}
public string setx (int x) {
System.out.println ("Set X Nilai: x ="+x);
this.x = x;
return "Nilai pengembalian adalah x ="+x;
}
public int gety () {
mengembalikan y;
}
public void sety (int y) {
this.y = y;
}
point public () {
}
Titik publik (int x, int y) {
this.x = x;
this.y = y;
}
@Mengesampingkan
public void setxy (int x, int y) {
this.x = x;
this.y = y;
System.out.println ("titik setxy: x ="+x+", y ="+y);
}
@Mengesampingkan
public void draw () {
System.out.println ("Point Draw");
}
@Mengesampingkan
Public String ToString () {
return "point: x ="+x+", y ="+y;
}
}