Module System ใน Java 9
ฟีเจอร์สำคัญของ Java 9 คือ Module System (Project Jigsaw) ช่วยให้แบ่งโค้ดเป็น โมดูล ย่อยๆ แต่ละโมดูลมีหน้าที่ชัดเจน และประกาศ dependency กับโมดูลอื่นๆ
ขั้นตอนสร้าง Modular Project
- สร้างไฟล์ module-info.java ใน package root (เช่น
src/com.mycompany.mypackage/module-info.java) - ใช้คีย์เวิร์ด exports (เผยแพร่แพ็กเกจ) และ requires (ต้องการโมดูลอื่น)
ตัวอย่าง requires (ใช้โมดูลอื่น)
module com.tutorialspoint.greetings {
requires org.tutorix;
}
ตัวอย่าง exports (เปิดแพ็กเกจให้อื่นเข้าถึง)
module org.tutorix {
exports org.tutorix;
}
ประโยชน์ของ Module
- Security (ความปลอดภัย): ซ่อนรายละเอียดภายใน (internal details) เข้าถึงได้เฉพาะ exported packages เท่านั้น public ในโมดูลหนึ่งไม่ได้เป็น public ให้โมดูลอื่นอัตโนมัติ
- Performance (ประสิทธิภาพ): แอปพลิเคชันเล็กลงและเร็วขึ้น ใช้เฉพาะโมดูลที่ต้องการ
- Deployment (การติดตั้ง): ง่ายขึ้นบนอุปกรณ์เล็กๆ เนื่องจากต้องการหน่วยความจำน้อยลง
- Single Responsibility Principle: รองรับหลักการออกแบบโมดูลที่มีหน้าที่เดียว
- Loose Coupling: ลดการผูกมัดระหว่างโมดูล
สรุป
Module System ช่วยจัดการโค้ดขนาดใหญ่ให้เป็นระบบ ปลอดภัย และมีประสิทธิภาพมากขึ้น