[英]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.