gpt4 book ai didi

java - 应用MVC模式的时候让controller继承view可以吗?

转载 作者:行者123 更新时间:2023-12-04 20:42:33 24 4
gpt4 key购买 nike

我正在“实践”中学习 MVC 模式,这意味着我试图掌握如何在任何给定的 Java 应用程序中实现它。我只是通过另一个变得更聪明了一点 question我刚问过,我的跟进来了。

MVC 模式的本质是模型既不知道 View 也不知道 Controller 。但是, Controller 和 View 必须相互了解,因为 Controller 很可能需要更新 View ,而 View 需要将用户操作发送到 Controller 。我理解通常使用策略模式来实现 Controller ,这意味着 Controller 是 View 的行为。不管怎么看, View 和 Controller 是交织在一起的。

现在,我知道人们应该更喜欢组合而不是继承。但是,创建 Controller 继承 View 的设计是否有意义。我主要考虑的是不必在 View 上编写大量访问器和修改器方法,而是使用 protected 关键字定义所有组件,以便子类可以访问它们。

有人可能会想,当用户输入发生时, View 应该如何通知 Controller 。我的想法是让 Controller 中的每个按钮都对应一个 Action 。然后只需用相应的按钮(在 View 中)注册正确的操作(在 Controller 中,它是子类)。

我要模糊关注点分离吗?这仍然是 MVC 模式,还是我正在走向完全不同(甚至更糟)的东西?

欢迎所有反馈!

最佳答案

当您的 Controller 扩展 View 时,在 Java 的意义上,您的 Controller “是一个” View 。因此,在这种情况下,可以肯定地说您违反了 mvc 模式。

关于java - 应用MVC模式的时候让controller继承view可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5237689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com