簡體   English   中英

Rust - MVP 模式實現

[英]Rust - MVP Pattern implementation

我試圖在 RUST 語言中找到實現 MVP 模式的最佳方法。 實際上我正在使用 Clean Architecture 模式,現在我正在嘗試在內部實現 MVP 模式。 有什么更好的方法呢?

例如:我有一些觀點的特點:

pub trait ILoginView{
    fn new(presenter: LoginPresenter) -> Self;
}

還有一些演講者:

pub struct LoginPresenter{
    view: &mut dyn ILoginView,
}

最后實現視圖特征:

pub struct LoginView{
    presenter: LoginPresenter,
}

impl ILoginView for LoginView{
    fn new(presenter: LoginPresenter) -> Self {
        Self{
            presenter
        }
    }
}

而且我不知道如何最好地將它們相互連接,以便演示者例如更改視圖的state,視圖接收登錄結果。

PS 我認為這個問題會非常有用,因為在 Rust Lang 的搜索結果中幾乎沒有類似問題的答案。

在試圖找到解決這個問題的方法后,我決定將Presenter的部分邏輯委托給View,並將Presenter變成只是用例和View之間的一個層,而Presenter對View 無法與之通信,只是用例的一種容器。 對我來說,這種方法是最優的,“最佳實踐應該簡化開發,而不是使其復雜化”,而在 Rust 的情況下,“真正的 MVP 模式”引入了大量不安全的操作,並且極大地復雜了代碼的讀寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM