I'm doing a small research on design patterns in various platforms and I have prior experience in programming with Java.
While reading these posts: MVC pattern on Android and MVC architecture in Android,
I had an interesting question in mind: Why Java swing MVC can not be compared with Android development pattern? or Why we can't say that Android follows MVC? (in the context of overall "look and feel").
In one answer, someone clarified MVC as:
Model: What to render
View: How to render
Controller: Events, user input
OK. well, now what I understand is:
Java Swing MVC:
In Java swing MVC,
componentclass is an abstract class for all attributes in visual environment. There is a distinct keyword calledcontrolsis used for somecomponentssuch as buttons, lists etc. So, all controls and components are part of Model in MVC.Containerinheritscomponent. and there are severalLayoutManagersthat defines layouts and place ofcomponentsincontainer. Also there areListenershave to be registered with accordingEventSources. So, they all are the View in MVC.Class that implements
Listener interface methodsin which we put our main logic and there are someEventClassesfor each event. They all are part of Controller in MVC.
putting all these examples together in an image; in swing MVC we have:

Android design pattern (visualizing as MVC):
I think
widgetsare same ascontrolshere. Also, there are some otherEventSources.They all act as a Model.Viewpackage hasviewgroups(that also contains several kinds oflayouts.) andListener interfaces. they all are the part of View in MVC.Same as swing MVC, we can say
Listener interface methodsand activities are the part of controller.
putting all together in an image; in Android we have:

As per above comparison, I consider following similarities:
Container- same asViewLayout managers- same asViewGroupListeners- overall same in both architecturecontrols- overall same aswidgetsEvent delegation(registering appropriate listener with Event source and then implementing Listener's methods) - overall same in both architecture
So, can anyone explain which are the things that makes the Android design pattern different than Java swing MVC pattern?
or If you believe that both are different things (in the context of design patterns used for development), then explain why?