Tải bản đầy đủ (.pptx) (11 trang)

Tổng quan về STATE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (160.55 KB, 11 trang )

University of Technical Education HCMC
Faculty of Information Technology
----o0o----

OBJECT-ORIENTED
ANALYSIS AND DESIGN

1

STATE PATTERN
Lecturer: Nguyễn Trần Thi Văn


2

SINH VIÊN THỰC HIỆN
 Lê Anh Nhân

14110136

 Trần Lâm Anh Duy

14110025

 Lê Huỳnh Hải Triều

14110207

 Trần Đức Huy

14110080




3

1. Đặt vấn đề
2. Tổng quan về STATE
3. Mục đích sử dụng
4. Cấu trúc mẫu
5. Lợi ích khi sử dụng State Pattern
6. Các mẫu liên quan


4

1. Đặt vấn đề :


Máy ATM: quá trình rút tiền.
Vậy trạng thái là gì?


5

2. Tổng quan về STATE


Cho phép một đối tượng thay đổi hành vi khi trạng thái bên trong của nó thay đổi.




Sử dụng tính Đa Hình để định nghĩa những hành vi khác nhau cho những trạng
thái khác nhau của một đối tượng.



Biến cố là các sự kiện xảy ra làm cho đối tượng chuyển trạng thái(tự xảy ra hoặc
bị bên ngoài tác động).


3. Mục đích sử dụng

6



Được dùng trong các hệ thống có nhiều trường hợp xét trạng thái.



Ít rắc rối.



Dễ sử dụng.


7

4. Cấu trúc mẫu
4.1. Cấu trúc, các lớp/đối tượng tham gia:



8

4. Cấu trúc mẫu
4.2. Ý nghĩa và vai trò của từng lớp:


Context: định nghĩa một interface duy nhất cho thế giới bên ngoài.



State: là một abstract class định nghĩa hành vi liên quan đến tất cả những trạng
thái có thể có của Context.



ConcreteState: là những class được kế thừa từ State class, định nghĩa bản chất
thực sự của trạng thái.



‘Context’ sẽ duy trì một con trỏ tới ‘State’ hiện tại. Để thay đổi trạng thái thì ta phải
thay đổi con trỏ.


9

5. Lợi ích khi sử dụng State Pattern



Không còn phụ thuộc vào câu lệnh điều kiện như if/else hay switch/case



Hạn định tất cả các hành vi liên quan đến một trạng thái nhất định vào một đối
tượng:





Các trạng thái mới có thể dễ dàng được thêm vào bằng cách định nghĩa các class mới,
làm tăng tính linh động



Đơn giản hóa quá trình bảo trì

Việc chuyển đổi trạng thái sẽ được tường minh: Những đối tượng riêng biệt cho
những trạng thái riêng biệt sẽ khiến việc chuyển đổi được tường minh thay vì phải
sử dụng dữ liệu nội để định nghĩa việc chuyển đổi trong một đối tượng duy nhất.


10

6. Các mẫu liên quan


Các đối tượng state thường là Singleton




-Mẫu Flyweight: giải thích khi nào và làm sao các đối tượng Object có thể được
chia sẻ



-Mẫu Interpreter có thể sử dụng State để định nghĩa parsing context


11

Cám ơn
Thầy và các bạn đã chú ý lắng nghe!



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×