Ví dụ Lập trình MVC trong Java

MVC là một design pattern (mẫu thiết kế) phổ biến được áp dụng trên hầu hết các ngôn ngữ lập trình hướng đối tượng hiện nay từ Java, C#, PHP, Visual C++ ….

Và trong bài viết ngày hôm nay, mình cùng các bạn sẽ tìm hiểu về mô hình MVC cũng như cách áp dụng nó từ thiết kế đến lập trình MVC trong Java.

Nội dung của bài viết này gồm:

  • Hiểu rõ hơn về quy mô MVC
  • Thực hành, sử dụng quy mô MVC trong Java trải qua ví dụ

1. MVC là gì?

Mô hình MVC được giới thiệu lần đầu tiên bởi Trygve Reenskaug khi anh ta đang làm việc trong dự án Smalltalk ở công ty Xerox PARC ở California, Mỹ vào những năm 1970.

MVC được viết tắt bởi 3 từ: Model – View – Controller, là một mẫu thiết kế nhằm mục tiêu chia tách phần giao diện và code để dễ quản lý, phát triển và bảo trì.

Mô hình MVC chia một ứng dụng thành ba phần tương tác được với nhau, mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác.được trình làng lần tiên phong bởikhi anh ta đang thao tác trong dự án Bất Động Sản Smalltalk ở công ty Xerox PARC ở California, Mỹ vào những năm 1970. được viết tắt bởi 3 từ : odel – iew – ontroller, là một mẫu phong cách thiết kế nhằm mục đích tiềm năng chia tách phần giao diện và code để dễ quản trị, tăng trưởng và bảo dưỡng. chia một ứng dụng thành ba phần tương tác được với nhau, mỗi thành phần có một trách nhiệm riêng không liên quan gì đến nhau và độc lập với những thành phần khác .

  • Model : quản trị, giải quyết và xử lý tài liệu
  • View : giao diện, hiển thị tài liệu cho người dùng
  • Controller : tinh chỉnh và điều khiển sự tương tác giữa Model và View

Minh họa mô hình MVC

Minh họa quy mô MVC

Tại sao lại cần sử dụng mô hình MVC?

Bạn có thể hiểu đơn giản như sau, một công việc được giao cho nhiều người làm, theo từng công đoạn khác nhau thì chắc chắn hiệu suất của công việc sẽ tăng lên rất cao.

Và việc sử dụng một design pattern để xây dựng một ứng dụng cũng sẽ như vậy.
 
Hơn nữa, nó sẽ giúp quá trình bảo trì, nâng cấp phát triển sản phẩm trở nên dễ dạng hơn rất nhiều so với việc bạn không sử dụng một design pattern nào cả.
 
Cụ thể về chức năng các thành phần trong mô hình MVC như sau:

Model:

  • Có trách nhiệm quản trị tài liệu của ứng dụng
  • Chứa toàn bộ những nhiệm vụ logic, đối tượng người tiêu dùng miêu tả tài liệu
  • Thông báo cho view để hiện thị lại hiệu quả cho người dùng

View:

  • Chứa giao diện, tương tác với người dùng, sử dụng Model để hiển thị tác dụng cho người dùng
  • Đưa ra hiệu quả từ tầng Controller
  • Thu nhận những hoạt động giải trí, nhu yếu của người dùng và chuyển cho tầng Controller giải quyết và xử lý

Controller:

  • Định nghĩa những hoạt động giải trí, giải quyết và xử lý của mạng lưới hệ thống
  • Đối chiếu những hành vi của người dùng từ View. Đồng thời tương tác Model để gọi View và hiển thị thông tin tương ứng cho người dùng .

Tuy nhiên đối với những dự án nhỏ thì việc áp dụng mô hình MVC sẽ gây cồng kềnh, tốn thời gian trong quá trình phát triển.

Ứng dụng MVC vào lập trình: MVC đang là mô hình được ứng dụng rất nhiều trong lập trình. Việc sử dụng mô hình tương đối đơn giản. Chỉ cần hiểu rõ quy trình vận hành, nắm được các chức năng của từng bộ phận thì việc triển khai mô hình MVC tương đối dễ dàng.

Hệ thống MVC phát triển tốt sẽ cho phép phát triển front end, back end cùng trên hệ thống mà không có sự can thiệp, chia sẻ, chỉnh sửa các tập tin trong khi một hoặc hai bên vẫn đang làm việc.

Biết cách áp dụng thuần thục mô hình MVC là điều kiện bắt buộc để bạn có thể đi làm Java thực tế.

> Nếu bạn đang tìm kiếm sự nghiệp với Java thật sự thì KHÓA HỌC JAVAƯu điểm của quy mô MVC là ứng dụng của bạn sẽ dễ tăng cấp và bảo dưỡng do code của bạn được chia thành những thành phần độc lập. Tuy nhiên so với những dự án Bất Động Sản nhỏ thì việc vận dụng quy mô MVC sẽ gây cồng kềnh, tốn thời hạn trong quy trình tăng trưởng. Ứng dụng MVC vào lập trình : MVC đang là quy mô được ứng dụng rất nhiều trong lập trình. Việc sử dụng quy mô tương đối đơn thuần. Chỉ cần hiểu rõ quá trình quản lý và vận hành, nắm được những tính năng của từng bộ phận thì việc tiến hành quy mô MVC tương đối thuận tiện. Hệ thống MVC tăng trưởng tốt sẽ được cho phép tăng trưởng front end, back end cùng trên mạng lưới hệ thống mà không có sự can thiệp, san sẻ, chỉnh sửa những tập tin trong khi một hoặc hai bên vẫn đang thao tác. Biết cách vận dụng thuần thục quy mô MVC là điều kiện kèm theo bắt buộc để bạn hoàn toàn có thể đi làm Java trong thực tiễn .

2. Ví dụ lập trình form đăng nhập sử dụng mô hình MVC trong Java

Ở đây, mình sẽ demo ứng dụng đăng nhập thông qua tài khoản, mật khẩu.
 
Ở đây mình sử dụng IDE Eclipse. Bạn nào chưa biết sử dụng thì…

> Học cách sử dụng Eclipse

Đầu tiên chúng ta sẽ tạo một project, trong đó có 4 class như sau:Trong phần này, tất cả chúng ta sẽ đi vào demo một chương trình đơn thuần có sử dụng quy mô MVC.Ở đây, mình sẽ demo ứng dụng đăng nhập trải qua thông tin tài khoản, mật khẩu. Ở đây mình sử dụng IDE Eclipse. Bạn nào chưa biết sử dụng thì … Đầu tiên tất cả chúng ta sẽ tạo một project, trong đó có 4 class như sau :

Cấu trúc thư mục ví dụ lập trình MVC trong Java

Cấu trúc thư mục ví dụ lập trình MVC trong Java

Trong Model:
 


public class LoginModel {

   private String user;

   private String pass;

   public LoginModel() {}

   public LoginModel(String _user, String _pass) {

      this.user = _user;

      this.pass = _pass;

}

   public String getUser() {

      return user;

}

   public void setUser(String _user) {

      this.user = _user;

}

   public String getPass() {

      return pass;

}

   public void setPass(String _pass) {

      this.pass = _pass;

}

}
 

 
Trong View:
 


import java.util.Scanner;

public class LoginView {

   public static Scanner scanner = new Scanner(System.in);

   public void showMessage(String msg) {

      System.out.println(msg);

}

   public LoginModel getInfo() {

      System.out.println(” _____LOGIN_____ “);

      System.out.println();

      LoginModel user = new LoginModel();

      System.out.print(” Username : “);

      user.setUser(scanner.next());

      System.out.print(” Password : “);

      user.setPass(scanner.next());

      return user;

}

}
 

Trong Controller chúng ta sẽ kiểm tra xem tài khoản và mật khẩu người dùng nhập vào có đúng không.

Nếu đúng thì đăng nhập thành công.
 


public class LoginController {

   private LoginView view;

   public LoginController(LoginView view) {

      this.view = view;

}

   private boolean check(LoginModel user) {

      if ((user.getUser().equals(” admin “)) 

      && (user.getPass().equals(” 123 “))) {

         return true;

}

      return false;

}

   public void login() {

      while (true) {

         LoginModel user = view.getInfo();

         if (check(user)) {

            view.showMessage(” Login successfully “);

            break;

            } else {

            view.showMessage(” Wrong username or password “);

}
}
}

}
 

Trong Main :


public class MVCPattern {

   public static void main(String[] args) {

      LoginView view = new LoginView();

      LoginController control = new LoginController(view);

      control.login();

}

}
 

Kết quả sau khi chạy chương trình:
 

Kết quả của ví dụ lập trình MVC trong Java

Kết quả của ví dụ lập trình MVC trong Java
 

Tạm kết

 
Như vậy mình và các bạn vừa tìm hiểu xong mô hình MVC và đã cùng nhau thực hành ví dụ lập trình MVC trong Java.

Hi vọng thông qua bài viết này sẽ giúp các bạn hiểu hơn về mô hình MVC và biết cách áp dụng nó trong project của mình.

Xin chào và hẹn gặp lại các bạn ở trong các bài viết tiếp theo.

HỌC VIỆN ĐÀO TẠO CNTT NIIT – ICT HÀ NỘI

Học Lập trình chất lượng cao ( Since 2002 ). Học làm Lập trình viên. Hành động ngay !

Đc : Tầng 3, 25T2, N05, Nguyễn Thị Thập, CG cầu giấy, Thành Phố Hà Nội

SĐT : 02435574074 – 0914939543

E-Mail : [email protected]

Fanpage: https://facebook.com/NIIT.ICT/

# niit # niithanoi # niiticthanoi # hoclaptrinh # khoahoclaptrinh # hoclaptrinhjava # hoclaptrinhphp # java # php # python