将来我将使用java / j2ee,hibernate等进行MVC,但是现在我有asp.net,php,python,ruby等。如果我学习如何使用MVC asp.net或者使用php框架或者RoR的MVC会帮助我使用Java版本吗?在我开始真正学习如何使用MVC之前,我不想等到我启动java项目,但如果mvc的.net或php版本如此不同以至于它将是一个重要的重新学习,那么我可能不会使用非java mvc框架。
简而言之,在一个平台上学习MVC是否适合在所有平台上学习?我意识到工具和语言会有所不同,但我的问题是一般知识。
我讨厌以“特殊”的方式处理事情,以便一次性项目不会产生任何未来的好处。
谢谢。
答案 0 :(得分:3)
MVC就是将您的应用程序分为3个主要部分。包含与数据库交互的大多数代码的模型,控制器访问模型并获取所需的数据,然后传递给视图,呈现给用户查看。
无论您选择哪种技术/框架,这一基本原则都将保留,只有其背后使用的技术才会发生变化。
例如,如果您选择了PHP路由并选择symfony作为您的Web框架,那么您将使用Doctrine或Propel作为模型/ ORM。如果您使用JBoss Seam,那么您将使用Hibernate / JPA作为您的ORM和EJB作为您的控制器。
尽管这两个框架在将逻辑与设计分离时遵循相同的规则,但它们还要求您学习非常不同的概念以正确使用它们。
例如在JBoss Seam中,框架在很大程度上依赖于你对范围以及无状态和有状态会话bean的了解,其中symfony中没有这样的概念(有点)。
所以无论你选择什么路线,在掌握了MVC的概念之后还有很多东西需要学习。
答案 1 :(得分:1)
MVC是一种基本的软件架构模式。这只是一个抽象的概念。它的具体实现将根据您使用的语言和平台而有所不同(一切都是如此),但基本概念保持不变。
总而言之:是的。了解MVC作为一个概念意味着什么,您将能够在平台和技术之间传递这些知识。