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
[sunting | sunting sumber]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 kelasPoint
:
aspect VisitAspect {
void Point.acceptVisitor(Visitor v) {
v.visit(this);
}
}
Sejarah dan sumbangan
[sunting | sunting sumber]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
[sunting | sunting sumber]- http://eclipse.org/aspectj
- http://www.parc.xerox.com/research/projects/aspectj/default.html Diarkibkan 2007-07-11 di Wayback Machine
- Xerox has U.S. Patent 6,467,086 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/