AspectJ

Bahasa pengaturcaraan AspectJ merupakan perluasan pengatucaraan berorientasi aspek kepada bahasa pengaturcaraan Java yang dicipta di Xerox PARC dan kini boleh didapati dalam projek terbuka Eclipse Foundation, kedua-dua bersendirian dan disekalikan dengan Eclipse.  AspectJ telah menjadi piawaian mutlak sejagat bagi pengaturcaraan berorientasi aspek -AOP dengan penekanan sifat ringkas dan mudah guna kepada pengguna akhir.  Ia menggunakan sintaks seperti Java dan telah memasukkan integrasi IDE bagi menunjukkan struktur silang (crosscutting) semenjak diterbitkan pada tahun 2001.

Gambaran bahasa mudah
Semua aturcara Java sah turut memiliki aturcara AspectJ yang sah, tetapi AspectJ turut membenarkan pengaturcara untuk mentakrifkan konstruk khas yang dikenali sebagai aspek.  Aspek boleh mengandungi beberapa entiti yang tidak terdapat pada kelas piwaian.  Ini adalah:

 Perisytiharan antara jenis—membenar pengatur cara menambah kaedah, medan atau antara muka dari kelas sedia ada dari aspek. Contoh ini menambah acceptVisitor (lihat kaedah pola Pelawat kepada kelas Point:

aspect VisitAspect {
void Point.acceptVisitor(Visitor v) {
v.visit(this);
}
}

 Sejarah dan sumbangan 
Gregor Kiczales memulakan dan mengetuai pasukan Xerox PARC yang akhirnya membangunkan AspectJ; dia mencipta istilah "crosscutting".  Chris Maeda orang yang keempat dalam pasukan mencipta istilah "aspect-oriented programming."  Selain itu ahli pasukan juga termasuk Jim Hugunin, Erik Hilsdale, Adrian Colyer and Andrew Clement.
Penkompil AspectBench dimajukan dan diselenggara sebagai usaha bersama Programming Tools Group di Makmal Komputer Universiti Oxford, Sable Research Group di Universiti McGill dan Institute Basic Research in Computer Science (BRICS).

 Pautan luar 
 http://eclipse.org/aspectj
 http://www.parc.xerox.com/research/projects/aspectj/default.html 
 Xerox has  for AOP/AspectJ, but published AspectJ source code under the Common Public License, which grants some patent rights.
 http://www.eclipse.org/aspectj/doc/released/progguide/index.html
 AJDT
 http://aspectbench.org/

Kategori:Perisian rentas-pelantar
Kategori:Bahasa Pengaturcaraan