Elm - Kiến trúc
Trong chương này, chúng ta sẽ thảo luận về cách chuẩn để tạo ứng dụng trong nền tảng Elm. Elm sử dụng một mẫu kiến trúc tương tự như mẫu Model-View-Controller.
Sau đây là bốn phần chính của Kiến trúc Elm.
- Model
- View
- Message
- Update
Kiến trúc Elm hoạt động như thế nào
Các modelchứa trạng thái ứng dụng. Ví dụ: nếu một ứng dụng hiển thị danh sách khách hàng thì trạng thái sẽ chứa từng dữ liệu khách hàng. Để hiển thị trạng thái một cách dễ hiểu,view/ html phải được tạo. Khi người dùng tương tác với chế độ xem bằng cách nhấn nút hoặc nhập dữ liệu vào biểu mẫu, chế độ xem sẽ tạo ra các tín hiệu được gọi làmessages. Tin nhắn được chuyển đếnupdatephương pháp này đánh giá thông điệp và thực hiện hành động thích hợp. Do đó, phương pháp cập nhật sẽ tạo ra một mô hình mới.
Mô hình mới tạo ra một chế độ xem mới. Chế độ xem sẽ dẫn đến các tương tác mới từ người dùng để gửi thông báo tín hiệu, chuyển sang chức năng cập nhật. Hơn nữa, chức năng tạo ra một mô hình mới. Vì vậy, chu kỳ lặp lại như thể hiện trong sơ đồ trên.
Mô hình
Mô hình xử lý trạng thái của ứng dụng. Cú pháp để xác định Mô hình được đưa ra dưới đây:
-- Model syntax
type alias Model = {
property1:datatype,
proptery2:datatype
...
}
Để tạo một mô hình, trước tiên chúng ta cần tạo một mẫu với tất cả các thuộc tính cần thiết trong đó. Mỗi thuộc tính chỉ định trạng thái của ứng dụng.
Lượt xem
Dạng xem là một biểu diễn trực quan của trạng thái ứng dụng. Chế độ xem biết cách lấy dữ liệu và tạo trang web từ đó. Khi người dùng tương tác với Chế độ xem, người dùng có thể thao tác trạng thái bằng cách tạo thông báo. Cú pháp để xác định Chế độ xem được đưa ra dưới đây:
--View Syntax
view model =some_implementation
Thông điệp
Thông báo là một yêu cầu từ người dùng để thay đổi trạng thái ứng dụng. Thông báo được chuyển dưới dạng tham số cho chức năng cập nhật.
--Message Syntax
type Message = Message1 |Message2 ...
Cú pháp hiển thị một loại Tin nhắn. Ứng dụng cây du sẽ chỉnh sửa trạng thái dựa trên các thông báo được chuyển đến nó. Các quyết định này được thực hiện trong phương pháp cập nhật.
Cập nhật
Hàm cập nhật diễn giải các thông báo, được truyền dưới dạng tham số cho nó và cập nhật mô hình.
--Update Syntax
update Message_type model =
some_implementation
Chức năng cập nhật mất Message và Mô hình dưới dạng tham số.