Tuesday, January 12, 2016

MVC or MOVE : Choice is your's !!

Few month back I build an restful application using ZF 2.4 and come across with its solid functionality called "EventManager". Yesss Event Manager which draw a broader line between Zf1 and new ZF2 Initially I was confused about its importance in my development but moving ahead I understood its real crux. So really ZF2 is MVC or MOVE ?
MVC = Model , View Controller
MOVE = Model Operation View Event
In Zf2 , controller are divided into two parts in MOVE i.e Operation and Event. You might have heard about "Fat Model , Skinny Controller" for doing good programming using MVC framework. Zf2 is answer for it .
How MOVE is different than MVC ?
Let us consider one small scenario in which user is logging using username and password. What would be case in ZF1 and Zf2. ? In ZF1 the action will be passed to model through controller and Model will talk to database to check the authenticity of user then again revert back result to controller which pass to user (views). No central watch for this action but using MOVE you can create your own events let say "loginevent" and control it centrally. So whenever "loginevent" is fired event take care to talk to model and pass result to view. It provide more controls to use this events from anywhere in your application which is not possible using MVC.
I found some similarity between ZF2 + Doctrine and Spring + Hibernate. Though I cannot say ZF2 is following purely based on MOVE but can bet its best framework developed in PHP. Most of concepts of ZF2 are derived from Spring, Ruby on Rails. Zend Framework use the power of scripting language and are getting more famous among developers. Spring is pure MVC framework which use power of POJO, Dependency Injection and many more which are also found in ZF2. Either its annotation or XML configurations in hibernate using spring or annotation or XML configurations in doctrine using zf , everything is possible. Think bigger now !! move to MOVE !!
Choice is your's :)

No comments: