โมดูลาร์ใน Java อธิบายด้วยตัวอย่างทีละขั้นตอน [2022]
เผยแพร่แล้ว: 2021-01-02เมื่อคุณตั้งใจจะเป็นโปรแกรมเมอร์ Java มีโอกาสมากมาย โดยเฉลี่ยแล้ว โปรแกรมเมอร์ Java มีรายได้ประมาณ 69,722 ดอลลาร์ต่อเดือน ซึ่งเป็นผล ตอบแทนที่ ดี เรียนรู้เพิ่มเติมเกี่ยวกับเงินเดือนนักพัฒนา Java ในอินเดีย หากคุณวางแผนที่จะมีอาชีพที่ดีในการเขียนโปรแกรม Java โมดูลาร์เป็นสิ่งที่คุณควรเรียนรู้ก่อน เป็นส่วนสำคัญของการเขียนโปรแกรมซอฟต์แวร์สมัยใหม่ ก่อนอื่นเรามาทำความเข้าใจว่าโมดูลคืออะไร?
Modularity ใน Java คืออะไร?
โมดูลเป็นเหมือนพาร์ติชั่นอิสระของซอฟต์แวร์ที่สื่อสารผ่านอินเทอร์เฟซ โมดูลาร์ลิตี้สำรวจการสร้างโปรแกรมโดยใช้โมดูลที่แตกต่างจากสถาปัตยกรรมดั้งเดิมเพียงตัวเดียว มันเหมือนกับไมโครเซอร์วิสในสถาปัตยกรรม MVC โดยที่ทั้งระบบเป็นชุดบริการอิสระ
ด้วยโมดูลาร์ การแบ่งพาร์ติชั่นของสภาพแวดล้อมซอฟต์แวร์ในโมดูลต่างๆ ทำให้กระบวนการทั้งหมดมีประสิทธิภาพสูงสุด และลดผลกระทบจากการมีเพศสัมพันธ์ ช่วยให้นักพัฒนา Java ทำการทดสอบฟังก์ชันขณะเดินทางในขณะที่กระบวนการพัฒนาดำเนินไปพร้อม ๆ กัน
โมดูลาร์ใน Java ช่วยให้มั่นใจได้ว่าเวลาในการพัฒนาจะลดลงด้วยการทดสอบและการดีบักทันที
ตอนนี้เรารู้เกี่ยวกับโมดูลาร์แล้ว มาทำความเข้าใจกันว่าทำไมคุณถึงต้องการมัน
อ่าน: คำถามและคำตอบสัมภาษณ์ Java

ลงทะเบียนเรียน หลักสูตรวิศวกรรมซอฟต์แวร์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
ทำไมเราถึงต้องการ Java modularity?
Modularity ช่วยนักพัฒนา Java ในสามวิธี
การนำกลับมาใช้ใหม่ได้: ความสามารถในการนำกลับมาใช้ใหม่สามารถช่วยนักพัฒนาประหยัดเวลาโดยใช้รหัสเดียวกันในขณะที่สร้างซอฟต์แวร์หรือแอปเวอร์ชันใหม่กว่า ด้วยโมดูลาร์ใน Java คุณสามารถใช้โมดูลซ้ำที่อื่นนอกเหนือจากซอฟต์แวร์ที่พัฒนาแล้วในตอนแรก
ความเสถียร: ความ เป็นโมดูลช่วยรักษาเสถียรภาพของซอฟต์แวร์ในขณะที่ทำการเปลี่ยนแปลงในแต่ละส่วนของโค้ด หมายความว่าการปรับเปลี่ยนใหม่ยังคงซ่อนจากผู้บริโภคและสามารถทดสอบได้อย่างง่ายดายโดยไม่ส่งผลกระทบต่อซอฟต์แวร์ที่มีอยู่
การพัฒนาแบบขนาน: นักพัฒนา Java สามารถพัฒนาโมดูลแบบคู่ขนานกันได้อย่างรวดเร็ว เมื่อโมดูลทั้งหมดได้รับการพัฒนาแล้ว สามารถรวมกันผ่านอินเทอร์เฟซเพื่อสร้างชุดโปรแกรมได้ การใช้การพัฒนาแบบคู่ขนานสามารถประหยัดเวลาได้
ตอนนี้ เรามาสำรวจแง่มุมต่างๆ ของโมดูลาร์ใน Java
แม้ว่าโมดูลาร์จะถูกนำมาใช้ใน Java 9 เราจะสำรวจแนวคิดสำหรับ Java 11 ด้วยตัวอย่างง่ายๆ ในการสร้างเครื่องคิดเลข เราจะสร้างเครื่องคิดเลขที่เรียบง่ายแต่ล้ำสมัยที่จะตรวจสอบจำนวนเฉพาะ คำนวณผลรวมของพวกมัน ไม่ว่าตัวเลขจะเป็นคู่หรือไม่ก็ตาม
ขั้นตอนที่ 1: การสร้างโมดูล
ขั้นตอนแรกคือการสร้างโมดูล และคุณสามารถเลือกสร้างหลายโมดูลตามความซับซ้อนได้ ที่นี่ เรากำลังสร้างโมดูลที่แตกต่างกันสองโมดูล
- คณิตศาสตร์. ยูทิลิตี้โมดูล
- โมดูลเครื่องคิดเลข
โมดูลแรกมี API หรือ Application Program Interface สำหรับดำเนินการคำนวณทางคณิตศาสตร์ ในเวลาเดียวกัน โมดูลที่สองจะเปิดเครื่องคิดเลข
ขั้นตอนที่ 2: ดำเนินการโมดูล
เราจะดำเนินการโมดูล API ในเบราว์เซอร์โดยนำไปใช้ในคลาส com.upgrad.math.MathUtil
isPrime บูลีนแบบคงที่สาธารณะ (จำนวนเต็ม){
ถ้า (ตัวเลข == 1 ) { คืนค่าเท็จ; }
ส่งคืน IntStream.range(2,num).noneMatch(i -> num % i == 0 );
}
เราสามารถตรวจสอบโมดูลด้วยฟังก์ชัน
บูลีนแบบคงที่สาธารณะ isEven (จำนวนเต็ม){
ส่งคืนหมายเลข % 2 == 0;
}
หากคุณกำลังคิดที่จะตรวจสอบตัวเลขว่าเป็นคู่หรือคี่ เราสามารถดำเนินการฟังก์ชันอื่นได้
sumOfFirstNEvens แบบคงที่สาธารณะ (การนับจำนวนเต็ม) {
ส่งคืน IntStream.iterate (1,i -> i+1)

.filter(j -> isEven(j))
.limit(นับ).sum();
}
จำนวนเต็มคงที่สาธารณะ sumOfFirstNOdds (จำนวนเต็ม) { return IntStream.iterate (1,i -> i+1) .filter(j -> !isEven(j)) .limit(count).sum(); }
จนถึงตอนนี้ เราได้ดำเนินการสองฟังก์ชันบนโมเดล API และได้ทำการสังเกตดังต่อไปนี้
- มีลำดับอนันต์เริ่มจากเลข 1
- การกรองตัวเลขซ้ำแล้วซ้ำอีก
- กระแสของตัวเลขมีจำกัด
- การหาผลรวมของตัวเลข
จากการสังเกตเหล่านี้ นักพัฒนาสามารถปรับเปลี่ยนโครงสร้าง API และดำเนินการได้
การคำนวณจำนวนเต็มFirstNSum(การนับจำนวนเต็ม
ตัวกรอง IntPredicate){
ส่งคืน IntStream.iterate (1,i -> i+1)
.filter(ตัวกรอง)
.limit(นับ).sum();
}
ในที่นี้ เราต้องหาผลรวมของตัวเลขที่ถูกจำกัดด้วยการนับ เราจะต้องค้นหาตัวกรองสำหรับตัวเลขในเงื่อนไขที่จะทำการรวม
มาสร้าง API ขึ้นใหม่โดยอิงตามเงื่อนไขใหม่ที่เราสำรวจ
จำนวนเต็มคงที่สาธารณะ sumOfFirstNprimes (จำนวนเต็ม) {
ส่งคืน computeFirstNSum(นับ, (i -> isPrime(i)));
}
sumOfFirstNEvens แบบคงที่สาธารณะ (การนับจำนวนเต็ม) { ส่งคืน computeFirstNSum (นับ (i -> isEven (i))); }
จำนวนเต็มคงที่สาธารณะ sumOfFirstNOdds (จำนวนเต็ม) { ส่งคืน computeFirstNSum (นับ (i -> !isEven (i)));
ตอนนี้เราได้ทดสอบ API และปรับโครงสร้างใหม่แล้ว ให้วางคลาส com.upgrad.math.MathUtil ลงในโมดูล
ขั้นตอนที่ 3: การแทรกคลาสยูทิลิตี้ในโมดูล
เพื่อแทรกคลาสยูทิลิตี้ขนาดเล็กลงในโมดูลชื่อคณิตศาสตร์ util คุณต้องปฏิบัติตามข้อตกลงบางอย่างเช่น
- ใส่โค้ดทั้งหมดที่เกี่ยวข้องกับโมดูล API ลงในไดเร็กทอรีชื่อเดียวกัน และใช้เป็นไดเร็กทอรีราก
- แทรก module-info.java ในโฟลเดอร์รูท
- วางแพ็คเกจและรหัสทั้งหมดในไดเร็กทอรีรูท
ขั้นตอนที่ 4: การสร้างคำจำกัดความโมดูลสำหรับเครื่องคิดเลข
เราจะสร้างโมดูลเครื่องคิดเลขที่ต้องใช้ math.utl
เครื่องคิดเลขโมดูล{
ต้องการ math.util;
}
เราสามารถคอมไพล์โค้ดได้โดยทำตาม
javac -d mods –module-source-path $(ค้นหา . -name “*.java”)
เมื่อเราคอมไพล์โค้ดจากเครื่องคิดเลขและโมดูล math.utl ในไดเร็กทอรี mods คำสั่งเดียวจะรวมการพึ่งพาระหว่างสองโมดูลนี้ ซึ่งทำผ่านคอมไพเลอร์ ไม่จำเป็นต้องสร้างเครื่องมือเฉพาะเพื่อสร้างการพึ่งพาระหว่างเครื่องคิดเลขกับ maths.utl
ขั้นตอนที่ 5: รันโค้ด

เมื่อคุณมีทั้งโมดูลในไดเร็กทอรี mods และการอ้างอิงแล้ว ตอนนี้ก็ถึงเวลารันโค้ด การดำเนินการจะนำเครื่องคิดเลขที่เรียบง่ายและทันสมัยของเราไปสู่การปฏิบัติ
java –module-path mods -m calculator/com.upgrad.calculator.Calculator
ต้องอ่าน: โครงการและหัวข้อ Java ที่น่าสนใจ
บทสรุป
จากการสำรวจพบ ว่า Java เป็นภาษาที่ต้องการสูงสุดเป็นอันดับสองในแง่ของการโพสต์งานใหม่ ซึ่งทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับผู้เริ่มต้น
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Java, OOP และการพัฒนาซอฟต์แวร์ฟูลสแตก โปรดดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์ฟูลสแตก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง 9+ โครงการและการมอบหมาย สถานะศิษย์เก่า IIIT-B โครงการหลักในทางปฏิบัติและความช่วยเหลือด้านงานกับ บริษัท ชั้นนำ
