Làm thế nào để triển khai kiến ​​trúc MVC trong Java?



Bài viết này về Kiến trúc MVC trong Java sẽ giúp bạn hiểu chính xác mẫu thiết kế MVC là gì và nó giúp thiết kế ứng dụng web dễ dàng như thế nào.

Trong trường Phát triển Web, Model-View-Controllerlà một trong những điều được nhắc đến nhiều nhất trong thế giới lập trình web ngày nay. Kiến trúc MVC ban đầu được đưa vào hai khung phát triển web chính - Struts và Viên ngọc trên tay vịn . Trong bài viết này, hãy khám phá một chút về Kiến trúc MVC trong .

Các chủ đề sẽ được đề cập trong bài viết này như sau:





Trước khi chúng ta thực sự gvà các kỹ thuật của Kiến trúc MVC, có một số khái niệm nhất định mà bạn cần biết.

  • Mẫu thiết kế , trong kỹ thuật phần mềm, là một kỹ thuật để giải quyết một vấn đề thường xảy ra khi thiết kế phần mềm.
  • Thiết kế mô hình, chỉ định loại kiến ​​trúc bạn sử dụng để giải quyết vấn đề hoặc thiết kế mô hình.
  • Có hai các loại mô hình thiết kế : Kiến trúc Mô hình 1 , Kiến trúc Mô hình 2 (MVC).

Kiến trúc MVC trong Java là gì?

Mẫu thiết kế dựa trên kiến ​​trúc MVC tuân theo MVC và chúng tách logic ứng dụng khỏi giao diện người dùng khi thiết kế phần mềm. Như tên của nó, mô hình MVC có ba lớp, đó là:



  • Mô hình - Đại diện cho lớp nghiệp vụ của ứng dụng
  • Lượt xem - Xác định cách trình bày của ứng dụng
  • Bộ điều khiển - Quản lý luồng của ứng dụng

MVC - Kiến trúc MVC trong Java - Edureka

Trong ngữ cảnh Lập trình Java,Mô hình bao gồm đơn giản Các lớp Java , Chế độ xem hiển thị dữ liệu và Bộ điều khiển bao gồm . Sự tách biệt này dẫn đến các yêu cầu của người dùng được xử lý như sau:



  1. Trình duyệt trên máy khách gửi yêu cầu trang tới bộ điều khiển có trên máy chủ
  2. Bộ điều khiển thực hiện hành động gọi mô hình, do đó, truy xuất dữ liệu mà nó cần để đáp ứng yêu cầu
  3. Sau đó, bộ điều khiển cung cấp dữ liệu đã truy xuất cho chế độ xem
  4. Chế độ xem được hiển thị và gửi lại cho máy khách để trình duyệt hiển thị

Tách một ứng dụng phần mềm thànhba thành phần riêng biệt này là một ý tưởng hay vì một số lý do. Hãy xem đó là những gì.

Ưu điểm của Kiến trúc MVC trong Java

Kiến trúc MVC mang lại rất nhiều lợi thế cho lập trình viên khi phát triển các ứng dụng, bao gồm:

  • Nhiều nhà phát triển có thể làm việc với ba lớp (Model, View và Controller) đồng thời
  • Ưu đãi được cải thiện khả năng mở rộng , bổ sung khả năng phát triển của ứng dụng
  • Vì các thành phần có mức độ phụ thuộc vào nhau thấp nên chúng rất dễ bảo trì
  • Một mô hình có thể được sử dụng lại bởi nhiều chế độ xem cung cấp khả năng sử dụng lại mã
  • Việc áp dụng MVC làm cho ứng dụng trở nên biểu cảm và dễ hiểu hơn
  • Việc mở rộng và thử nghiệm ứng dụng trở nên dễ dàng

Bây giờ bạn đã biết tại sao MVC lại phổ biến nhất trong thế giới lập trình web. Tuy nhiên, nếu bạn vẫn đang loay hoay tìm hiểu về khái niệm MVC, đừng lo lắng. Chúng tôi sẽ đi sâu vào từng lớp này và tìm hiểu mục đích của chúng với sự trợ giúp của .

Triển khai MVC bằng Java

Để triển khai ứng dụng web dựa trên mẫu thiết kế MVC, chúng tôi sẽ tạo

  • Lớp học , hoạt động như lớp mô hình
  • Lớp học CourseView , xác định lớp trình bày ( xem lớp )
  • CourseContoller Class , hoạt động như một người điều khiển

Bây giờ, chúng ta hãy khám phá từng lớp một.

Lớp mô hình

Trong mẫu thiết kế MVC, mô hình là lớp dữ liệu xác định logic nghiệp vụ của hệ thống và cũng đại diện cho trạng thái của ứng dụng.Ngươi mâu các đối tượng truy xuất và lưu trữ trạng thái của mô hình trong cơ sở dữ liệu. Thông qua lớp này, chúng tôi áp dụng các quy tắc cho dữ liệu, cuối cùng đại diện cho các khái niệm mà ứng dụng của chúng tôi quản lý. Bây giờ, hãy tạo một mô hình bằng cách sử dụng Lớp học.

package MyPackage public class Course {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} public void setName (Tên chuỗi) {this.CourseName = name} public String getCategory () {return CourseCategory} public void setCategory (String category) {this.CourseCategory = category}}

Mã này rất dễ hiểu và có thể tự giải thích. Nó bao gồm các chức năng lấy / đặt chi tiết khóa học.

Lớp xem

Lớp này của mẫu thiết kế MVC đại diện cho đầu ra của ứng dụng hoặc giao diện người dùng. Nó hiển thị dữ liệu được bộ điều khiển lấy từ lớp mô hình và trình bày dữ liệu cho người dùng bất cứ khi nào được yêu cầu. Tôit nhận được tất cả thông tin nó cần từ bộ điều khiển và nó không cần phải tương tác trực tiếp với lớp nghiệp vụ.Hãy tạo chế độ xem bằng Lớp CourseView.

gói MyPackage public class CourseView {public void printCourseDetails (String CourseName, String CourseId, String CourseCategory) {System.out.println ('Chi tiết Khoá học:') System.out.println ('Tên:' + Tên khoá học) System.out.println ('ID khóa học:' + CourseId) System.out.println ('Danh mục khóa học:' + CourseCategory)}}

Mã này làchỉ để in các giá trị vào bảng điều khiển. Tiếp theo, chúng ta có bộ điều khiển của ứng dụng web.

Lớp điều khiển

Controller giống như một giao diện giữa Model và View. Nó nhận các yêu cầu của người dùng từ lớp xem và xử lý chúng, bao gồm các xác nhận cần thiết. Các yêu cầu sau đó được gửi đến mô hình để xử lý dữ liệu. Sau khi chúng được xử lý, dữ liệu lại được gửi trở lại bộ điều khiển và sau đó được hiển thị trên khung nhìn.Hãy tạo CourseContoller Class hoạt động như một bộ điều khiển.

package MyPackage public class 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 ()} public void setCourseId (String id) {model.setId (id)} public String getCourseId () {return model.getId ()} public void setCourseCategory (String category) {model.setCategory (category)} public String getCourseCategory () {return model.getCategory ()} public void updateView () {view.printCourseDetails (model.getName (), model.getId (), model.getCategory ())}}

Nhìn lướt qua mã sẽ cho chúng ta biết rằng lớp bộ điều khiển này chỉ chịu trách nhiệm gọi mô hình để lấy / thiết lập dữ liệu và cập nhật chế độ xem dựa trên đó. Bây giờ chúng ta hãyhãy xem tất cả những thứ này được liên kết với nhau như thế nào.

Lớp Java chính

Hãy gọi lớp này là “MVCPatternDemo.java”. Kiểm tra mã dưới đây.

package MyPackage public class MVCPatternDemo {public static void main (String [] args) {// tìm nạp hồ sơ sinh viên dựa trên danh sách của anh ấy từ cơ sở dữ liệu Course model = retriveCourseFromDatabase () // Tạo chế độ xem: để viết chi tiết khóa học trên giao diện điều khiển CourseView = new CourseView () CourseController controller = new CourseController (model, view) controller.updateView () // update data model controller.setCourseName ('Python') System.out.println ('nSau khi cập nhật, Chi tiết Khóa học như sau') controller.updateView ()} private static Course retriveCourseFromDatabase () {Course course = new Course () course.setName ('Java') course.setId ('01 ') course.setCategory (' Programming ') return course}}

Lớp trêntìm nạp dữ liệu khóa học từ sử dụng mà người dùng nhập bộ giá trị. Sau đó, nó đẩy các giá trị đó vào mô hình Khóa học. Sau đó, nó khởi tạo chế độ xem mà chúng ta đã tạo trước đó trong bài viết.Hơn nữa, nó cũng gọi CourseController lớp và liên kết nó với Khóa học lớp học và CourseView lớp học. Các updateView () phương thức là một phần của bộ điều khiển sau đó cập nhật chi tiết khóa học trên bảng điều khiển. Kiểm tra đầu ra bên dưới.

Đầu ra

Chi tiết khóa học: Tên: Java Mã khóa học: 01 Hạng mục khóa học: Lập trình Sau khi cập nhật, Chi tiết khóa học như sau Chi tiết khóa học: Tên: Khóa học Python ID: 01 Hạng mục khóa học: Lập trình

Kiến trúc MVCcung cấp một mức mô-đun hoàn toàn mới cho mã của bạn, giúp mã dễ đọc và dễ bảo trì hơn rất nhiều. Điều này đưa chúng ta đến phần cuối của bài viết này.Hy vọng bạn rõ ràng với tất cả những gì đã được chia sẻ với bạn.

Đảm bảo rằng bạn luyện tập nhiều nhất có thể và hoàn nguyên trải nghiệm của mình.

Kiểm tra của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Chúng tôi ở đây để giúp bạn từng bước trong hành trình của bạn, chúng tôi đưa ra chương trình giảng dạy được thiết kế cho sinh viên và các chuyên gia muốn trở thành một Nhà phát triển Java.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của ‘Kiến trúc MVC trong Java’ này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.

lớp python __init__