繁体   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