ในฟิลด์การพัฒนาเว็บ Model-View-Controllerเป็นหนึ่งในคนที่ถูกพูดถึงมากที่สุด ในโลกการเขียนโปรแกรมบนเว็บทุกวันนี้ ตอนแรกสถาปัตยกรรม MVC รวมอยู่ในกรอบการพัฒนาเว็บหลักสองส่วน - Struts และ ทับทิมบนราง . ในบทความนี้เรามาดูข้อมูลเกี่ยวกับ MVC Architecture in .
หัวข้อที่จะกล่าวถึงในบทความนี้มีดังนี้:
ก่อนที่เราจะจริง gและในด้านเทคนิคของสถาปัตยกรรม MVC มีแนวคิดบางอย่างที่คุณต้องรู้
- รูปแบบการออกแบบ ในวิศวกรรมซอฟต์แวร์เป็นเทคนิคในการแก้ปัญหาที่เกิดขึ้นโดยทั่วไปเมื่อออกแบบซอฟต์แวร์
- การออกแบบโมเดล ระบุประเภทของสถาปัตยกรรมที่คุณใช้ในการแก้ปัญหาหรือออกแบบโมเดล
- มีสอง ประเภทของแบบจำลองการออกแบบ : สถาปัตยกรรมรุ่น 1 , สถาปัตยกรรมรุ่น 2 (MVC)
MVC Architecture ใน Java คืออะไร?
การออกแบบโมเดลตามสถาปัตยกรรม MVC เป็นไปตาม MVC และแยกตรรกะของแอปพลิเคชันออกจากอินเทอร์เฟซผู้ใช้เมื่อออกแบบซอฟต์แวร์ เนื่องจากชื่อแสดงถึงรูปแบบ MVC มีสามชั้นซึ่ง ได้แก่ :
- รุ่น - แสดงถึงชั้นธุรกิจของแอปพลิเคชัน
- ดู - กำหนดการนำเสนอของแอปพลิเคชัน
- ตัวควบคุม - จัดการการไหลของแอปพลิเคชัน
ในบริบทการเขียนโปรแกรม Javaโมเดลประกอบด้วยแบบเรียบง่าย คลาส Java มุมมองจะแสดงข้อมูลและตัวควบคุมประกอบด้วย . การแยกนี้ส่งผลให้คำขอของผู้ใช้ถูกประมวลผลดังนี้:
- เบราว์เซอร์บนไคลเอนต์ส่งคำร้องขอเพจไปยังคอนโทรลเลอร์ที่มีอยู่บนเซิร์ฟเวอร์
- ตัวควบคุมดำเนินการเรียกใช้แบบจำลองดังนั้นการดึงข้อมูลที่ต้องการเพื่อตอบสนองคำขอ
- จากนั้นตัวควบคุมจะให้ข้อมูลที่ดึงมาให้กับมุมมอง
- มุมมองจะแสดงผลและส่งกลับไปยังไคลเอนต์เพื่อให้เบราว์เซอร์แสดง
การแยกแอปพลิเคชันซอฟต์แวร์ออกเป็นองค์ประกอบที่แตกต่างกันทั้งสามนี้เป็นความคิดที่ดีด้วยเหตุผลหลายประการ มาดูกันว่ามีอะไรบ้าง
ข้อดีของ 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