1. Trang chủ
  2. » Cao đẳng - Đại học

Bài 3 Lập trình mạng thiết kế theo mô hình MVC_TS Nguyễn Mạnh Hùng

33 2,9K 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 550,52 KB

Nội dung

Mô hình MVC 2 M - model: để trình diễn view và xử lí control... view, vào tập chức năng để xử lí, đồng thời chọn hành động đưa view ra để show... Mô hình MVC 4 V - view: người sử dụng

Trang 1

Lập trình mạ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 chính Viễn thông (PTIT)

Trang 3

Mô hình MVC

Trang 4

Mô hình MVC (1)

[image source: http://www.oracle.com/technetwork/]

Trang 5

Mô hình MVC (2)

M - model:

để trình diễn (view) và xử lí (control)

Trang 6

view), vào tập chức năng để xử lí, đồng

thời chọn hành động đưa view ra để show

Trang 7

Mô hình MVC (4)

V - view:

người sử dụng và chuyển cho tầng control

xử lí

Trang 8

MVC cải tiến (1)

[image source: http://www.oracle.com/technetwork/]

Trang 10

Các lớp thực thể

thức truy cập các thuộc tính (javaBean)

để trình diễn (view) và xử lí (control)

Trang 11

Các lớp điều khiển

trong các thực thể)

view), vào tập chức năng để xử lí, đồng

thời chọn hành động đưa view ra để show

Trang 12

Các lớp giao diện

(javaSwing)

Trang 13

Ví dụ:

điều khiển đăng nhập từ dòng lệnh

Trang 14

public void setPassword(String password) {

this password = password;

}

public String getUserName() {

return userName ;

}

public void setUserName(String userName) {

this userName = userName;

}

}

Trang 15

public LoginView(LoginModel user){

this user = user;

}

public void showMessage(String smg){

System.out.println(smg);

}

Trang 16

Login: View (2)

public void getUserInfo(){

try {

DataInputStream input = new DataInputStream(System.in);

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

user setUserName( input readUTF());

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

user setPassword( input readUTF());

input close();

} catch (IOException e){

System.out.println(e);

}

}

}

Trang 17

public LoginControl(LoginModel user, LoginView view){

this user = user;

this view = view;

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

} }

}

Trang 18

Login: Control (2)

private boolean checkLogin(){

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

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

return true ; }

return false ;

}

}

Trang 19

Login: main

public class LoginMVC {

public static void main(String[] args){

LoginModel user = new LoginModel();

LoginView view = new LoginView( user );

LoginControl control = new LoginControl( user , view );

}

}

Trang 20

Case study:

MVC với GUI

Trang 21

Yêu cầu bài toán

password và một nút login

CSDL, bảng users có ít nhất 2 cột

username và password

phải kiểm tra thông tin đăng nhập có đúng không, nếu đúng thông báo thành công,

nếu sai thông báo đăng nhập sai!

Trang 22

Sơ đồ các lớp

Trang 23

LoginModel

public class LoginModel {

private String userName ;

private String password ;

public LoginModel(){

}

public LoginModel(String username, String password){

this userName = username;

this password = password;

}

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;

}

}

Trang 24

public class LoginView extends JFrame implements ActionListener{

private JTextField txtUsername ;

private JPasswordField txtPassword ;

private JButton btnLogin ;

private LoginModel model ;

Trang 25

LoginView (2)

public LoginView(){

super ( "Login MVC" );

txtUsername = new JTextField(15);

txtPassword = new JPasswordField(15);

txtPassword setEchoChar( '*' );

btnLogin = new JButton( "Login" );

JPanel content = new JPanel();

content.setLayout( new FlowLayout());

content.add( new JLabel( "Username:" ));

this addWindowListener( new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

} });

}

Trang 26

LoginView (3)

public void actionPerformed(ActionEvent e) {

}

public LoginModel getUser(){

model = new LoginModel( txtUsername getText(),

txtPassword getText());

return model ; }

public void showMessage(String msg){

Trang 27

public class LoginControl {

private LoginModel model ;

private LoginView view ;

public LoginControl(LoginView view){

this view = view;

view.addLoginListener( new LoginListener());

}

Trang 28

LoginControl (2)

class LoginListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

Trang 29

String query = "Select * FROM users WHERE username ='"

+ user.getUserName() + "' AND password ='"

+ user.getPassword() + "'" ; try {

Trang 30

Test

public class Test {

public static void main(String[] args) {

LoginView view = new LoginView();

LoginControl controller = new LoginControl(view);

view.setVisible( true );

}

}

Trang 31

Kết quả

Trang 32

Bài tập

tin của user vào ví dụ trong bài

chứa một đoạn text nào đó, show kết quả lên GUI

người dùng của một hệ thống nào đấy

Trang 33

Questions?

Ngày đăng: 13/08/2014, 11:13

HÌNH ẢNH LIÊN QUAN

Sơ đồ các lớp - Bài 3 Lập trình mạng thiết kế theo mô hình MVC_TS Nguyễn Mạnh Hùng
Sơ đồ c ác lớp (Trang 22)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w