AspectJ

Dari Wikipedia Bahasa Melayu, ensiklopedia bebas.

bahasa pengaturcaraan AspectJ merupakan sambungan pengatucaraan kearah (oriented) Aspect kepada bahasa pengaturcaraan Java dicipta di Xerox PARC dan kini boleh didapati di projek terbuka Eclipse Foundation, kedua-dua bersendirian dan disekalikan dengan Eclipse. AspectJ telah menjadi piwaian mutlak sejagat bagi pengaturcaraan kearah (oriented ) Aspect -AOP dengan penekanan bagi ringkas dan mudah guna bagi pengguna akhir. Ia menggunakan sintak seperti Java dan telah memasukkan integrasi IDE bagi menunjukkan struktur bersilang (crosscutting) semenjak dibebaskan kepada umum pada 2001.

[Sunting] 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:

  • inter-type declarations—membenar pengaturcara menambah kaedah, medan atau antaramuka 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);
}
}

[Sunting] 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).

[Sunting] Pautan luar


Bahasa Pengaturcaraan (senarai penuh)
ALGOL | APL | Ada | BASIC| C | C++ | COBOL | Common Lisp | Delphi | Eiffel | FORTH | Fortran | Haskell | Java | Jython | Lisp | LOGO | Mesa | Modula-2 | Oberon | Ocaml | Objective-C | Perl | PHP | Prolog | PL/I | Pascal | PostScript | Python | Ruby | Scheme | Smalltalk | SQL | Tcl | Visual Basic