Tải bản đầy đủ - 0 (trang)
Mục đích sử dụng

Mục đích sử dụng

Tải bản đầy đủ - 0trang

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



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

Mục đích sử dụng

Tải bản đầy đủ ngay(0 tr)

×