AspectJ

Daripada Wikipedia, ensiklopedia bebas.
Lompat ke: pandu arah, cari

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 kelas Point:
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]


Bahasa pengaturcaraan (senarai penuh, perbandingan, glosari)
ALGOL | APL | Ada | BASIC| C | C++ | C# | COBOL | Common Lisp | Eiffel | FORTH | Fortran | Haskell | Java | JavaScript | 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