Are all MVC frameworks the same?

In the future I will be working with MVC with java / j2ee, hibernate, etc., but for now I have asp.net, php, python, ruby, etc. If I find out how to use MVC asp.net or MVC with php framework or RoR will help me with Java version? I don't want to wait for me to start a java project before I really start learning how to use MVC, but if the mvc.net or php versions are so different that it would be a serious retraining, then I cannot use the non-java mvc frameworks.

In short, does MVC learn on one platform well for learning across all platforms? I understand that the tools and languages ​​will be different, but my question is about general knowledge.

I hate working on things in a "special" way for a one-off project that will have no future benefit.

Thanks.

+1


a source to share


2 answers


MVC is designed to break your application into 3 main parts. The model that contains most of the code that interacts with your database, the controller that accesses the model and gets the data it needs, and then gets passed to the view, which displays this to the user.

No matter which technology / framework you choose, this basic principle will remain, and only the technology used behind it will change.

For example, if you submitted a PHP route and chose symfony as your web structure, you would use Doctrine or Propel as your model / ORM. If you were using JBoss Seam, you would be using Hibernate / JPA as your ORM and EJB as your controllers.



While these 2 frameworks follow the same rules when it comes to branching logic from design, they also require you to learn very different concepts in order to use them correctly.

For example, in JBoss Seam, the structure relies heavily on your knowledge of scope and stateless state and stateless beans, where there is no such concept (type) in symfony.

As such, no matter which route you take, there is still a lot to learn after you have mastered the MVC concept.

+3


a source


MVC is a basic architectural piece of software. It's just an abstract concept. Its specific implementations will differ depending on the language and platform you are using (like everyone else), but the basic concepts remain the same.



So, in one word: yes. Learn what MVC stands for as a concept and you can transfer that knowledge across platforms and technologies.

+1


a source







All Articles