Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
391,53 KB
Nội dung
Lập trình hướng đối tượng Thiết kế theo mô hình MVC Giảng viên: TS Nguyễn Mạnh Hùng Học viện Công nghệ Bưu Viễn thông (PTIT) Nội dung Mô hình MVC tổng quan Mô hình MVC cải tiến Ví dụ Bài tập Mô hình MVC Mô hình MVC (1) [image source: http://www.oracle.com/technetwork/] Mô hình MVC (2) M - model: Đóng gói liệu, thông tin Chức biểu diễn, vận chuyển thông tin để trình diễn (view) xử lí (control) Mô hình MVC (3) C - control: Định nghĩa hành vi, hoạt động, xử lí hệ thống Đối chiếu hành động user (nhận từ view), vào tập để xử lí, đồng thời chọn hành động đưa view để show Mô hình MVC (4) V - view: Giao diện với người dử dụng Show kết xử lí tầng control Thu nhận hoạt động, yêu cầu người sử dụng chuyển cho tầng control xử lí MVC cải tiến (1) [image source: http://www.oracle.com/technetwork/] MVC cải tiến (2) View L giao diện Control L điều khiển Model L thực thể Các lớp thực thể Đóng gói liệu, thông tin Chỉ chứa thuộc tính phương thức truy cập thuộc tính (javaBean) Chức biểu diễn, vận chuyển thông tin để trình diễn (view) xử lí (control) 10 Các lớp điều khiển Cập nhật thông tin vào DB (thông tin chứa thực thể) Thực tính toán, xử lí trung gian Đối chiếu hành động user (nhận từ view), vào tập để xử lí, đồng thời chọn hành động đưa view để show 11 Các lớp giao diện Các frame, cửa sổ ứng dụng (javaSwing) Các trang giao diện web: html, jsp Các bảng, mẫu biểu, báo cáo in 12 Ví dụ: điều khiển đăng nhập từ dòng lệnh Login: Model public class LoginModel { String userName; String password; public LoginModel(){} public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } } 14 Login: View (1) import java.io.Scanner; import java.io.IOException; public class LoginView { public LoginView(){ } public void showMessage(String smg){ System.out.println(smg); } 15 Login: View (2) public LoginModel getUserInfo(){ LoginModel user = new LoginModel(); try{ Scanner input = new Scanner(System.in); System.out.print("Username: "); user.setUserName(input.nextLine()); System.out.print("Password: "); user.setPassword(input.nextLine()); input.close(); }catch(IOException e){ System.out.println(e); } return user; } } 16 Login: Control (1) public class LoginControl { LoginModel user; LoginView view; public LoginControl(LoginView view){ this.view = view; while(true){ user = view.getUserInfo(); if(checkLogin()){ view.showMessage("success!"); break; }else{ view.showMessage("wrong username or password!"); } } } 17 Login: Control (2) private boolean checkLogin(){ if ((user.getUserName().equals("sa")) &&(user.getPassword().equals("sa") )){ return true; } return false; } } 18 Login: main public class LoginMVC { public static void main(String[] args){ LoginView view = new LoginView(); LoginControl control = new LoginControl(view); } } 19 Bài tập (1) Bài toán tìm USCLN: người dùng nhập vào hai số nguyên dương a b Chương trình lên USCLN chúng Viết model cho toán Viết phần view cho toán Viết phần control cho toán 20 Bài tập (2) Bài toán giải phương trình bậc hai: người dùng nhập vào hệ số a, b, c chương trình lên số nghiệm giá trị nghiệm phương trình Viết model cho toán Viết phần view cho toán Viết phần control cho toán 21 Bài tập (3) Cài đặt lại ví dụ đăng nhập cho bài, với thông tin người dùng lưu CSDL Viết model cho toán Viết phần view cho toán Viết phần control cho toán 22 Questions? [...]... class LoginMVC { public static void main(String[] args){ LoginView view = new LoginView(); LoginControl control = new LoginControl(view); } } 19 Bài tập (1) Bài toán tìm USCLN: người dùng nhập vào hai số nguyên dương a và b Chương trình hiện lên USCLN của chúng Viết model cho bài toán này Viết phần view cho bài toán này Viết phần control cho bài toán này 20 Bài tập (2) Bài toán giải phương trình bậc... hệ số a, b, c chương trình hiện lên số nghiệm và giá trị các nghiệm của phương trình Viết model cho bài toán này Viết phần view cho bài toán này Viết phần control cho bài toán này 21 Bài tập (3) Cài đặt lại ví dụ đăng nhập đã cho trong bài, với thông tin về người dùng được lưu trong CSDL Viết model cho bài toán này Viết phần view cho bài toán này Viết phần control cho bài toán này 22 Questions?...Các lớp điều khiển Cập nhật thông tin vào DB (thông tin chứa trong các thực thể) Thực hiện các tính toán, xử lí trung gian Đối chiếu hành động của user (nhận từ view), vào tập chứ năng để xử lí, đồng thời chọn hành động đưa view ra để show 11 Các lớp giao diện Các frame, cửa sổ của ứng dụng (javaSwing) Các trang giao ...Nội dung Mô hình MVC tổng quan Mô hình MVC cải tiến Ví dụ Bài tập Mô hình MVC Mô hình MVC (1) [image source: http://www.oracle.com/technetwork/] Mô hình MVC (2) M - model: Đóng... Chức biểu diễn, vận chuyển thông tin để trình diễn (view) xử lí (control) Mô hình MVC (3) C - control: Định nghĩa hành vi, hoạt động, xử lí hệ thống Đối chiếu hành động user (nhận từ view),... đưa view để show Mô hình MVC (4) V - view: Giao diện với người dử dụng Show kết xử lí tầng control Thu nhận hoạt động, yêu cầu người sử dụng chuyển cho tầng control xử lí MVC cải tiến (1)