1. แนวคิดพื้นฐาน
APISIONSJ เป็นการใช้งานที่ใช้ Java สำหรับการเขียนโปรแกรมอสังหาริมทรัพย์ มันเพิ่มแนวคิดใหม่ของ Join Point ไปยัง Java แต่ในความเป็นจริงมันเป็นเพียงชื่อของแนวคิด Java ที่มีอยู่ มันเพิ่มโครงสร้างใหม่บางอย่างให้กับภาษา Java: Pointcut, การแจ้งเตือน (คำแนะนำ), การประกาศระหว่างประเภท (การประกาศระหว่างประเภท) และแง่มุม (แง่มุม) การเอียงและการแจ้งเตือนส่งผลกระทบต่อการไหลของโปรแกรมแบบไดนามิกการประกาศระหว่างประเภทเป็นโครงสร้างลำดับชั้นของคลาสคงที่ของโปรแกรมและแทนเจนต์เป็น encapsulations ของโครงสร้างใหม่เหล่านี้ทั้งหมด
แนวคิดตามส่วนจุดเชื่อมต่อจุดสัมผัสและการแจ้งเตือนมีดังนี้:
แง่มุม: การประกาศแง่มุมนั้นคล้ายกับการประกาศคลาสใน Java และมีบางจุดและคำแนะนำที่สอดคล้องกันในแง่มุม
จุดร่วม: แสดงถึงจุดที่กำหนดไว้อย่างชัดเจนในโปรแกรม
PointCut: แสดงถึงกลุ่มของจุดร่วม
คำแนะนำ: คำแนะนำกำหนดการดำเนินการเฉพาะที่จะทำโดยจุดโปรแกรมที่กำหนดไว้ใน PointCut
จุดเชื่อมต่อเป็นจุดที่เหมาะสมในการไหลของโปรแกรม แทนเจนต์จะรวบรวมชุดจุดเชื่อมต่อเฉพาะและค่าในจุดเหล่านี้ การแจ้งเตือนคือรหัสที่ดำเนินการเมื่อจุดเชื่อมต่อมาถึงและสิ่งเหล่านี้เป็นส่วนที่มีพลวัตของภาพ ในความเป็นจริงจุดเชื่อมต่อเป็นเหมือนคำสั่งในโปรแกรมและจุดแทนเจนต์เป็นจุดพักที่กำหนดไว้ในคำสั่งเฉพาะ จุดพักนี้ นอกจากนี้ยังมีการประกาศประเภทระหว่างประเภทต่าง ๆ มากมายใน APISIONSJ ซึ่งช่วยให้โปรแกรมเมอร์สามารถปรับเปลี่ยนโครงสร้างคงที่ชื่อสมาชิกระดับและความสัมพันธ์ระหว่างคลาส แง่มุมในแง่มุมคือหน่วยโมดูลที่ตัดโฟกัสข้าม พฤติกรรมของพวกเขาคล้ายกับชั้นเรียนใน Java แต่ยังสรุปการตัดจุดการแจ้งเตือนและการประกาศระหว่างประเภท
2. วิธีการพัฒนาโปรแกรม AOP โดยใช้ AJDT: เครื่องมือการพัฒนา ASPECTJ?
ทำตามคำแนะนำบนเว็บไซต์ AJDT เพื่อติดตั้งปลั๊กอิน AJDT ใน Eclipse http://www.eclipse.org/ajdt/
สร้างโครงการ Project AspectJ
ดำเนินการพัฒนารหัส (บทความนี้ให้ตัวอย่างง่ายๆ)
3. ตัวอย่างง่ายๆ:
การคัดลอกรหัสมีดังนี้:
แพ็คเกจ aop.test;
รูปอินเตอร์เฟซสาธารณะ {
โมฆะสาธารณะ setxy (int x, int y);
โมฆะสาธารณะ Draw ();
-
การคัดลอกรหัสมีดังนี้:
แพ็คเกจ aop.test;
จุดระดับสาธารณะใช้รูปแบบการเลือก {
สาธารณะ int x;
ส่วนตัว int y;
สาธารณะ int getx () {
กลับ x;
-
สตริงสาธารณะ setx (int x) {
System.out.println ("Set x value: x ="+x);
this.x = x;
return "ค่าส่งคืนคือ x ="+x;
-
สาธารณะ int gety () {
กลับ y;
-
โมฆะสาธารณะ sety (int y) {
this.y = y;
-
จุดสาธารณะ () {
-
จุดสาธารณะ (int x, int y) {
this.x = x;
this.y = y;
-
@Override
โมฆะสาธารณะ setxy (int x, int y) {
this.x = x;
this.y = y;
System.out.println ("Point setxy: x ="+x+", y ="+y);
-
@Override
โมฆะสาธารณะ Draw () {
System.out.println ("Point Draw");
-
@Override
สตริงสาธารณะ toString () {
กลับ "จุด: x ="+x+", y ="+y;
-
-