This weekend, Gaurav released his initial implementation of the MVC pattern for Android at http://blogs.mastergaurav.com/2010/08/14/model-view-controller-mvc-for-android/. This opens up several possibilities for anybody looking to create an application on Android.
The implementation, even though is an initial early push,
has a robust infrastructure. Here's an initial analysis and outline of
the implementation:
- The implementation,
quite similar in nature to Struts (and he's inspired by Struts for the
same), has a front controller and implements Command Pattern.
- Controller is implemented as Application specialization that does all housekeeping.
- Command is modeled using ICommand
interface. Noting that a large part of the commands will be network,
database, file-system or related operations that may take a long time to
complete, it provides response using callback listener for asynchronous
implementation
- All commands are managed using CommandQueueManager which internally is managed using a simplified ThreadPool of CommandThread instances.
- The public interface of interacting with this complex infrastructure is CommandExecutor, internally made use of by the Controller.
- Modeling request, response and listeners are available in the package com.mastergaurav.android.mvc.common.
- To keep developer use extensible, input-commands and output-activities, they are purely numeric in nature.
Keep a close watch on the project... holds good potential!