Mô hình MVC là gì? – Ví dụ login sử dụng mô hình MVC trong Java

Mô hình MVC là gì ? Ví dụ login sử dụng quy mô MVC trong Java

Mô hình MVC là gì?

Ví dụ login sử dụng mô hình MVC trong Java

 Nội dung chính

MVC là gì?

MVC ( viết tắt của Model-View-Controller ) là một mẫu kiến trúc ứng dụng hay quy mô phong cách thiết kế để tạo lập giao diện người dùng trên máy tí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 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 .

Mô hình MVC là gì?
Mô hình MVC giúp tách biệt giữa phương pháp mà tài liệu được giải quyết và xử lý phía nội hàm và phần tài liệu hiển thị phía người dùng. Ở đây Controller nhận được tổng thể những nhu yếu cho ứng dụng và sau đó thao tác với Model để sẵn sàng chuẩn bị tài liệu thiết yếu cho View. View sau đó sử dụng những tài liệu được chuẩn bị sẵn sàng bởi Controller để hiển thị cho người dùng .

Các thành phần trong MVC

Model

  • Là bộ phận có trách nhiệm quản trị tài liệu của ứng dụng .
  • Chức năng màn biểu diễn, luân chuyển thông tin để trình diễn ( view ) và giải quyết và xử lý ( control )
  • Chứa tổng thể những nhiệm vụ logic, đối tượng người tiêu dùng miêu tả tài liệu, …

View

  • Tương tác với người sử dụng .
  • Show hiệu quả từ tầng Controller .
  • Thu nhận những hoạt động giải trí, request của người sử dụng và chuyển cho tầng Controller giải quyết và xử lý .
  • Hiểu một cách đơn thuần, View là mạng lưới hệ thống những frame, hành lang cửa số của ứng dụng ; những trang giao diện web : html, jsp ; Các bảng, mẫu biểu, báo cáo giải trình .

Controller

  • Định nghĩa những hành vi, 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 hành vi của người sử 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 .

Ưu điểm và nhược điểm của MVC

Ưu điểm

Do được chia thành những thành phần độc lập nên Mô hình MVC giúp tăng trưởng ứng dụng có code dễ đọc, dễ tăng cấp, bảo dưỡng .
Thể hiện tính chuyên nghiệp trong việc tạo ứng dụng .

Nhược điểm

Đối với dự án Bất Động Sản nhỏ việc vận dụng quy mô MC gây cồng kềnh, tốn thời hạn trong quy trình tăng trưởng. Tốn thời hạn trung chuyển tài liệu của những thành phần .

Ví dụ login sử dụng mô hình MVC trong Java

Tạo một project có cấu trúc như sau:

Ví dụ login sử dụng mô hình MVC trong Java

Tạo model: LoginModel.java

package vn.viettuts.mvc;

public class LoginModel {

    private String userName;

    private String password;

    public LoginModel() {

    }

 public LoginModel(String userName, String password) {

        super();

        this.userName = userName;

        this.password = password;

    }

    public String getUserName() {

        return userName;

    }

    public void setUserName(String userName) {

        this.userName = userName;

    }

    public String getPassword() {

        return password;

    }

    public void setPassword(String password) {

        this.password = password;

    }

}

Tạo view: LoginView.java

Lớp này chứa 2 phương pháp :

  • Phương thức showMessage ( ) : hiển thị thông tin cho người dùng .
  • Phương thức getUserInfo ( ) : được sử dụng để tích lũy thông tin user mà người dùng nhập .

package vn.viettuts.mvc;

import java.util.Scanner;

public class LoginView {

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

    public void showMessage(String smg) {

        System.out.println(smg);

    }

    public LoginModel getUserInfo() {

        LoginModel user = new LoginModel();

        System.out.print("Username: ");

        user.setUserName(scanner.next());

        System.out.print("Password: ");

        user.setPassword(scanner.next());

        return user;

    }

}

Tạo controller: LoginController.java

package vn.viettuts.mvc;

public class LoginController {

    private LoginView view;

    public LoginController(LoginView view) {

        this.view = view;

    }

    public void login() {

        while (true) {

            LoginModel user = view.getUserInfo();

            if (checkLogin(user)) {

                view.showMessage("success!");

                break;

            } else {

                view.showMessage("wrong username or password!");

            }

        }

    }

    private boolean checkLogin(LoginModel user) {

        if ((user.getUserName().equals("admin"))

                && (user.getPassword().equals("admin"))) {

            return true;

        }

        return false;

    }

    public LoginView getView() {

        return view;

    }

    public void setView(LoginView view) {

        this.view = view;

    }

}

Tạo lớp App.java chứa hàm main để chạy ứng dụng.

package vn.viettuts.mvc;

public class App {

    public static void main(String[] args) {

        LoginView view = new LoginView();

        LoginController control = new LoginController(view);

        // goi ham login

        control.login();

    }

}

Kết quả:

Ví dụ login sử dụng mô hình MVC trong Java