จะใช้สถาปัตยกรรม MVC ใน Java ได้อย่างไร?



บทความนี้เกี่ยวกับ MVC Architecture ใน Java จะช่วยให้คุณเข้าใจว่ารูปแบบการออกแบบ MVC คืออะไรและทำให้การออกแบบเว็บแอปพลิเคชันเป็นเรื่องง่ายได้อย่างไร

ในฟิลด์การพัฒนาเว็บ Model-View-Controllerเป็นหนึ่งในคนที่ถูกพูดถึงมากที่สุด ในโลกการเขียนโปรแกรมบนเว็บทุกวันนี้ ตอนแรกสถาปัตยกรรม MVC รวมอยู่ในกรอบการพัฒนาเว็บหลักสองส่วน - Struts และ ทับทิมบนราง . ในบทความนี้เรามาดูข้อมูลเกี่ยวกับ MVC Architecture in .

หัวข้อที่จะกล่าวถึงในบทความนี้มีดังนี้:





ก่อนที่เราจะจริง gและในด้านเทคนิคของสถาปัตยกรรม MVC มีแนวคิดบางอย่างที่คุณต้องรู้

  • รูปแบบการออกแบบ ในวิศวกรรมซอฟต์แวร์เป็นเทคนิคในการแก้ปัญหาที่เกิดขึ้นโดยทั่วไปเมื่อออกแบบซอฟต์แวร์
  • การออกแบบโมเดล ระบุประเภทของสถาปัตยกรรมที่คุณใช้ในการแก้ปัญหาหรือออกแบบโมเดล
  • มีสอง ประเภทของแบบจำลองการออกแบบ : สถาปัตยกรรมรุ่น 1 , สถาปัตยกรรมรุ่น 2 (MVC)

MVC Architecture ใน Java คืออะไร?

การออกแบบโมเดลตามสถาปัตยกรรม MVC เป็นไปตาม MVC และแยกตรรกะของแอปพลิเคชันออกจากอินเทอร์เฟซผู้ใช้เมื่อออกแบบซอฟต์แวร์ เนื่องจากชื่อแสดงถึงรูปแบบ MVC มีสามชั้นซึ่ง ได้แก่ :



  • รุ่น - แสดงถึงชั้นธุรกิจของแอปพลิเคชัน
  • ดู - กำหนดการนำเสนอของแอปพลิเคชัน
  • ตัวควบคุม - จัดการการไหลของแอปพลิเคชัน

MVC - สถาปัตยกรรม MVC ใน Java - Edureka

ในบริบทการเขียนโปรแกรม Javaโมเดลประกอบด้วยแบบเรียบง่าย คลาส Java มุมมองจะแสดงข้อมูลและตัวควบคุมประกอบด้วย . การแยกนี้ส่งผลให้คำขอของผู้ใช้ถูกประมวลผลดังนี้:



  1. เบราว์เซอร์บนไคลเอนต์ส่งคำร้องขอเพจไปยังคอนโทรลเลอร์ที่มีอยู่บนเซิร์ฟเวอร์
  2. ตัวควบคุมดำเนินการเรียกใช้แบบจำลองดังนั้นการดึงข้อมูลที่ต้องการเพื่อตอบสนองคำขอ
  3. จากนั้นตัวควบคุมจะให้ข้อมูลที่ดึงมาให้กับมุมมอง
  4. มุมมองจะแสดงผลและส่งกลับไปยังไคลเอนต์เพื่อให้เบราว์เซอร์แสดง

การแยกแอปพลิเคชันซอฟต์แวร์ออกเป็นองค์ประกอบที่แตกต่างกันทั้งสามนี้เป็นความคิดที่ดีด้วยเหตุผลหลายประการ มาดูกันว่ามีอะไรบ้าง

ข้อดีของ MVC Architecture ใน Java

สถาปัตยกรรม MVC มีข้อดีมากมายสำหรับโปรแกรมเมอร์เมื่อพัฒนาแอพพลิเคชั่นซึ่งรวมถึง:

  • นักพัฒนาหลายคนสามารถทำงานกับสามเลเยอร์ (โมเดลมุมมองและคอนโทรลเลอร์) พร้อมกัน
  • ปรับปรุงข้อเสนอแล้ว ความสามารถในการปรับขนาดได้ ซึ่งช่วยเสริมความสามารถในการเติบโตของแอปพลิเคชัน
  • เนื่องจากส่วนประกอบมีการพึ่งพาซึ่งกันและกันต่ำจึงง่ายต่อการบำรุงรักษา
  • แบบจำลองสามารถใช้ซ้ำได้โดยการดูหลาย ๆ มุมมองซึ่งทำให้สามารถใช้โค้ดซ้ำได้
  • การยอมรับ MVC ทำให้แอปพลิเคชันแสดงออกและเข้าใจง่ายมากขึ้น
  • การขยายและทดสอบแอปพลิเคชันกลายเป็นเรื่องง่าย

ตอนนี้คุณรู้แล้วว่าทำไม MVC ถึงได้รับความนิยมมากที่สุด ในโลกการเขียนโปรแกรมบนเว็บ แต่ถ้าคุณยังคงดิ้นรนเพื่อให้เข้าใจแนวคิดของ MVC ก็ไม่ต้องกังวล เราจะเจาะลึกลงไปในแต่ละเลเยอร์เหล่านี้และเรียนรู้วัตถุประสงค์ของพวกเขาด้วยความช่วยเหลือของ .

การติดตั้ง MVC โดยใช้ Java

ในการใช้งานเว็บแอปพลิเคชันตามรูปแบบการออกแบบ MVC เราจะสร้าง

  • ชั้นเรียน ซึ่งทำหน้าที่เป็นไฟล์ เลเยอร์โมเดล
  • คลาส CourseView ซึ่งกำหนดเลเยอร์การนำเสนอ ( ดูเลเยอร์ )
  • คลาส CourseContoller ซึ่งทำหน้าที่เป็นไฟล์ ตัวควบคุม

ตอนนี้เรามาสำรวจเลเยอร์เหล่านี้ทีละชั้น

เลเยอร์โมเดล

ในรูปแบบการออกแบบ MVC ไฟล์ แบบ เป็นชั้นข้อมูลที่กำหนดตรรกะทางธุรกิจของระบบและยังแสดงสถานะของแอปพลิเคชันนางแบบ วัตถุ ดึงข้อมูลและจัดเก็บสถานะของโมเดลในฐานข้อมูล ในเลเยอร์นี้เราใช้กฎกับข้อมูลซึ่งในที่สุดก็แสดงถึงแนวคิดที่แอปพลิเคชันของเราจัดการ ตอนนี้เรามาสร้างแบบจำลองโดยใช้ ชั้นเรียน

package MyPackage public class หลักสูตร {private String CourseName private String CourseId private String CourseCategory public String getId () {return CourseId} public void setId (String id) {this.CourseId = id} public String getName () {return CourseName} โมฆะสาธารณะ setName (ชื่อสตริง) {this.CourseName = name} public String getCategory () {return CourseCategory} โมฆะสาธารณะ setCategory (หมวดหมู่สตริง) {this.CourseCategory = category}}

รหัสนี้เข้าใจง่ายและอธิบายได้ด้วยตนเอง ประกอบด้วยฟังก์ชั่นรับ / กำหนดรายละเอียดหลักสูตร

เลเยอร์มุมมอง

เลเยอร์ของรูปแบบการออกแบบ MVC นี้แสดงถึงผลลัพธ์ของแอปพลิเคชันหรือส่วนต่อประสานผู้ใช้ จะแสดงข้อมูลที่ดึงมาจากเลเยอร์โมเดลโดยคอนโทรลเลอร์และนำเสนอข้อมูลให้กับผู้ใช้ทุกครั้งที่ถูกร้องขอ ผมt ได้รับข้อมูลทั้งหมดที่ต้องการจากผู้ควบคุมและไม่จำเป็นต้องโต้ตอบกับชั้นธุรกิจโดยตรงมาสร้างมุมมองโดยใช้ คลาส CourseView

package MyPackage คลาสสาธารณะ CourseView {โมฆะสาธารณะ printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('รายละเอียดหลักสูตร:') System.out.println ('ชื่อ:' + CourseName) System.out.println ('Course ID:' + CourseId) System.out.println ('Course Category:' + CourseCategory)}}

รหัสนี้คือเพียงแค่พิมพ์ค่าลงในคอนโซล ถัดไปเรามีตัวควบคุมของเว็บแอปพลิเคชัน

เลเยอร์คอนโทรลเลอร์

Controller เปรียบเสมือนส่วนต่อประสานระหว่าง Model และ View ได้รับคำขอของผู้ใช้จากเลเยอร์มุมมองและประมวลผลรวมถึงการตรวจสอบความถูกต้องที่จำเป็น จากนั้นคำขอจะถูกส่งไปยังโมเดลสำหรับการประมวลผลข้อมูล เมื่อได้รับการประมวลผลข้อมูลจะถูกส่งกลับไปยังคอนโทรลเลอร์อีกครั้งจากนั้นจึงแสดงบนมุมมองมาสร้างกัน คลาส CourseContoller ซึ่งทำหน้าที่เป็นตัวควบคุม

package MyPackage คลาสสาธารณะ CourseController {private Course model private CourseView view public CourseController (Course model, CourseView view) {this.model = model this.view = view} public void setCourseName (String name) {model.setName (name)} public String getCourseName () {return model.getName ()} โมฆะสาธารณะ setCourseId (String id) {model.setId (id)} public String getCourseId () {return model.getId ()} โมฆะสาธารณะ setCourseCategory (หมวดหมู่สตริง) {model.setCategory (หมวดหมู่)} String สาธารณะ getCourseCategory () {return model.getCategory ()} โมฆะสาธารณะ updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

การดูโค้ดคร่าวๆจะบอกเราว่าคลาสคอนโทรลเลอร์นี้มีหน้าที่เพียงแค่เรียกโมเดลเพื่อรับ / ตั้งค่าข้อมูลและอัปเดตมุมมองตามนั้น ตอนนี้มาดูมาดูกันว่าสิ่งเหล่านี้เชื่อมโยงกันอย่างไร

คลาส Java หลัก

เรียกคลาสนี้ว่า MVCPatternDemo.java ตรวจสอบรหัสด้านล่าง

แพคเกจ MyPackage คลาสสาธารณะ MVCPatternDemo {public static void main (String [] args) {// ดึงบันทึกของนักเรียนตาม roll no จากฐานข้อมูล Course model = retriveCourseFromDatabase () // สร้างมุมมอง: เพื่อเขียนรายละเอียดหลักสูตรบนคอนโซลมุมมอง CourseView = ตัวควบคุม CourseView ใหม่ () ตัวควบคุม CourseController = CourseController ใหม่ (model, view) controller.updateView () // update model data controller.setCourseName ('Python') System.out.println ('nAfter update, Course Details มีดังนี้') controller.updateView ()} private static Course retriveCourseFromDatabase () {Course course = new Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programming ') return course}}

ชั้นเรียนข้างต้นดึงข้อมูลหลักสูตรจากไฟล์ โดยใช้ผู้ใช้ป้อนชุดของค่า จากนั้นจะผลักค่าเหล่านั้นไปยังโมเดลหลักสูตร จากนั้นจะเริ่มต้นมุมมองที่เราสร้างไว้ก่อนหน้านี้ในบทความนอกจากนี้ยังเรียกใช้ไฟล์ CourseController คลาสและผูกเข้ากับไฟล์ หลักสูตร ชั้นเรียนและ CourseView ชั้นเรียน updateView () วิธีการซึ่งเป็นส่วนหนึ่งของคอนโทรลเลอร์จากนั้นจะอัปเดตรายละเอียดหลักสูตรบนคอนโซล ตรวจสอบผลลัพธ์ด้านล่าง

เอาต์พุต

รายละเอียดหลักสูตร: ชื่อ: Java รหัสหลักสูตร: 01 ประเภทหลักสูตร: การเขียนโปรแกรมหลังจากการปรับปรุงรายละเอียดหลักสูตรมีดังนี้รายละเอียดหลักสูตร: ชื่อ: Python รหัสหลักสูตร: 01 หมวดวิชา: การเขียนโปรแกรม

สถาปัตยกรรม MVCมอบระดับโมดูลาร์ใหม่ทั้งหมดให้กับโค้ดของคุณซึ่งทำให้สามารถอ่านและบำรุงรักษาได้มากขึ้น เรามาถึงตอนท้ายของบทความนี้หวังว่าคุณจะชัดเจนกับสิ่งที่แบ่งปันกับคุณ

ให้แน่ใจว่าคุณฝึกฝนให้มากที่สุดและเปลี่ยนประสบการณ์

ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก เราพร้อมช่วยเหลือคุณในทุกขั้นตอนในการเดินทางเรามาพร้อมกับหลักสูตรที่ออกแบบมาสำหรับนักเรียนและมืออาชีพที่ต้องการเป็น Java Developer

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของ 'MVC Architecture in Java' บทความและเราจะติดต่อกลับโดยเร็วที่สุด

.format ทำอะไรใน python