Nên cố gắng gọi .goToState chỉ từ trong tiểu bang người quản lý?
Có thể. Tôi không biết điều này chắc chắn, nhưng có vẻ như với tôi rằng bởi vì người quản lý nhà nước biết bạn đang ở trong tình trạng gì, đó là nơi để thực thi các chuyển tiếp trạng thái pháp lý. Nếu bạn gọi .goToState từ bên ngoài trình quản lý trạng thái, bạn đang thực hiện nó mà không biết bạn đang ở trạng thái nào, và đôi khi OK (có thể đó là trạng thái bạn thực sự có thể đến từ bất kỳ trạng thái nào khác). để được in.
Đôi khi tôi thấy các phương pháp phản chiếu của mình trong trình quản lý trạng thái trên chế độ xem, ví dụ: lưu: -> StateManager.send ("lưu"). Có phải có ý nghĩa hay tôi thiếu gì đó không?
Tôi thích những gì pangratz phải nói về điều này.
Mọi sửa đổi của mô hình (thường) có phải thông qua trình quản lý nhà nước không?
Cách tôi sử dụng statecharts, không. Tôi đã nhìn thấy một số người sử dụng statecharts là khá nhiều thay thế hoàn toàn cho lớp điều khiển, tuy nhiên, và nếu đó là cách bạn đang làm việc, thì có, nó nên đi qua người quản lý nhà nước. Mô hình này là để tránh thao tác trực tiếp các mô hình từ các khung nhìn; cho dù đó là một lớp điều khiển hoặc một nhà quản lý nhà nước ở giữa có vẻ như một điểm tranh luận với tôi.
Cách tôi sử dụng biểu đồ trạng thái, tuy nhiên, quản lý nhà nước được thực hiện để quản lý trạng thái của ứng dụng. Nó có thể chơi trình quản lý lưu lượng để sửa đổi mô hình nếu sửa đổi đó sẽ thay đổi trạng thái của ứng dụng (ví dụ: nếu có chỉ báo tiến trình trong khi cập nhật hoàn tất), nhưng có vẻ như tôi không cập nhật mô hình; chúng thuộc về bộ điều khiển.
Nếu một chế độ xem tiểu bang khác nhau, mà nên được mô hình hóa bằng cách sử dụng ViewState với bang con, hay tôi nên sử dụng thuộc tính tính toán và xem thuộc tính để giữ thông tin đó trong chế độ xem (mà không có sự quản lý nhà nước biết trạng thái nội bộ lượt xem)?
Tôi nghĩ rằng người quản lý nhà nước cần biết (hoặc phải biết) trạng thái nội bộ của chế độ xem.
Ngoài sự tò mò, bạn đến từ nền phát triển web hay nền tảng phát triển ứng dụng dành cho thiết bị di động/máy tính để bàn? Tôi đến từ sự phát triển web, và các bảng xếp hạng nhà nước là một khái niệm mới cho tôi. Tôi tìm thấy nó rất hữu ích để đọc the canonical State Chart paper bởi David Harel ('ware PDF!). Nó đáng ngạc nhiên có thể đọc được cho một bài báo học và đưa ra khái niệm biểu đồ trạng thái cơ bản nhất của thế giới SproutCore/Ember đã được sử dụng từ cuối năm 2010 (nghĩa là những gì mà Michael Cohen ghi nhớ khi ông viết Ki.)
Tôi mong chờ phản hồi bạn nhận được về câu hỏi này. Tất cả các ví dụ tôi có thể tìm thấy trên mạng nội bộ là một chút quá đơn giản. Sau đó, một lần nữa, mọi thứ rất mới trong Ember.js, tôi chắc chắn rằng bất kỳ phương pháp nào bạn và tôi đưa ra là "chính xác" miễn là chúng hoạt động :) (Tôi hiện đang slogging/recoding một ứng dụng ngày càng tăng của tôi sử dụng StateManager. Nó hoạt động tốt, nhưng tôi, giống như bạn, tôi không chắc chắn tôi đang làm những điều "đúng"). – jeremyosborne