1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Phát triển phần mềm mã nguồn mở: MVC

12 37 0

Đ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 12
Dung lượng 220,9 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Phát triển phần mềm mã nguồn mở: MVC cung cấp cho người học các kiến thức: MVC là gì, tổng quan về MVC, quan niệm, observer pattern. Mời các bạn cùng tham khảo nội dung chi tiết.

Trang 1

1

Trang 2

Nội dung

2

I MVC là gì?

II Tổng quan về MVC III Quan niệm

IV Observer pattern

Trang 3

MVC LÀ GÌ?

 Là một mô hình kiến trúc trong công nghệ

phần mềm

 MVC tách dữ liệu ra khỏi giao diện

 MVC phân tách các thành phần khác nhau của ứng dụng (input logic, business logic, và

UI logic), và cung cấp một liên kết giữa

chúng

Trang 4

Tổng quan

 Luồng xử lý:

 Người dùng tương tác với user interface bằng cách nào đó (như click chuột)

 Bộ điều khiển xử lý sự kiện đầu vào từ user interface rồi convert các sự kiện thành user action, mà model có thể hiểu được

 Bộ điều khiển sẽ thông báo cho các model của user action, có thể dẫn đến một sự thay đổi trong model state

 View truy vấn model để tạo ra user interface thích hợp

 View lấy dữ liệu của nó từ model

 Trong một số trường hợp, controller sẽ đưa ra một số chỉ định tổng quát để view có thể tự render nó

 View được thông báo một cách tự động những thay đổi trong model state mà cần update lại màn hình

 User interface chờ tương tác tiếp theo của người dùng, để lăp lại control flow

Trang 5

op

yr

Quan niệm

View

model representation

Model

business logic

Controller

user interaction

Update Event

User Actions

Change View

Set State Get

State

Trang 6

Quan niệm

 Model quản lý hành vi và dữ liệu của miền ứng

dụng.

 Khi xử lý sự kiện, model thông báo cho các bộ quan sát (thường là view) khi thông tin được thay đổi để

nó có phản ứng thích hợp.

 View render model thành một form phù hợp cho việc tương tác

 Trên cùng một model có thể có nhiều view để phục vụ cho các mục đích khác nhau

Trang 7

Quan niệm

 Controller tiếp nhận yêu cầu người dùng và khởi động một

respond bằng cách gọi đối tượng model

 Controller nhận yêu cầu từ người dùng rồi chỉ định cho model và view thực hiện hành động dựa trên yêu cầu đó

 Một ứng dụng MVC là tập hợp của nhiều bộ ba model –

controller – view, mỗi bộ chịu trách nhiệm với một UI khác nhau

 MVC thường thấy trên các ứng dụng web mà view là HTML hoặc XHTML được sinh ra bởi ứng dụng

 Controller nhận GET hoặc POST input và quyết định sẽ làm gì với nó

 Model không chỉ đơn thuần là một cơ sở dữ liệu, model trong

MVC là cả dữ liệu và logic nghiệp vụ cần thiết để thao tác dữ liệu trong ứng dụng

Trang 8

Quan niệm

 Input → Process → Output

 Controller → Model → View

8

Trang 9

op

yr

Observer Pattern

 Định nghĩa phụ thuộc {một – nhiều} giữa các đối tượng sao cho khi một đối tượng thay đổi trạng thái, tất cả các phụ thuộc của nó sẽ tự động được thông báo và cập nhật.

 Dùng để tách chủ đề khỏi observer, do chủ đề cần ít thông tin để đánh thức observer.

Trang 10

Lược đồ lớp Observer

Observable

+addObserver(Observer)

+deleteObserver(Observer)

+notifyObservers(Object)

#hasChanged() : boolean

#setChanged()

Observer +update(Observable,

Object)

AccountView +update(Observable,

Object) BankAccount

+widthdraw(double) : long

+deposit(double) : long

+getBalance() : double

SummaryView +update(Observable,

Object)

Trang 11

Xử lý giao tác

Controller BankAccount AccountView SummaryView

deposit()

setChanged()

notifyObservers()

update()

update() getBalance()

getBalance()

Trang 12

op

yr

Vai trò Observer

 Observer pattern cho phép lớp BankAccount đánh thức nhiều views không cần thông tin tối thiểu.

 Observers có thể tự đăng ký với các chủ đề của chúng Không kèm theo chuỗi nào!

 Các giao tác là nguyên nhân làm thiết kế này đổ vỡ dưới các thông báo giả tạo!

Ngày đăng: 03/11/2020, 05:20

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w