Menu

#10 include Model View Controller Pattern

1.0.3
open
nobody
None
5
2010-03-25
2010-03-25
No

Provide implementation for a componentized Model View Controller framework aiming to provide a consistent high level architecture for thin client UI applications e.g. Swing-based. Many Swing-based UI applications are created with adhoc architectures that do not scale well over time with respect to adding more use-cases. The idea is to provide a high level MVC that will be context free and built on top of the following Design Patterns: Observer, Command, State and Chain Of Responsibility patterns. The implementation of the MVC pattern will emphasize on IoC friendliness. Optionally provide a new Maven artifact for generating new Swing UI bare bones based on this architecture.

The top abstractions of this generic MVC are: IModel, IController, IView. They generically expose interfaces that will be wired together automatically i.e. use-case based. The interfaces exposed by each of these top level abstractions are explained below.

IModel interface:
- exposes ISubject (Observer) interfaces: Notifies about changes in the model will be automatically wired to the IView's IObserver
- exposes fine grained Model State to be accessed and changed by Controller implementations

IController interface:
- exposes IObserver (Observer) interfaces: Receives notification about user gestures from the IView and triggers execution of Commands
- exposes ICommand (Command) interfaces: Trigger the execution of Commands

IView interface:
- exposes IObserver (Observer) interfaces: Handles notifications about changes in the model.
- exposes ISubject (Observer) interfaces: Notifies user gestures.
- exposes IInvoker (Command) interfaces: Directly triggers the execution of a Command

There will be an initial entity that will scan the concrete implementation of these top level interfaces and do the wiring e.g.
IView's IInvokers with IController's ICommands
IModel's ISubjects with IView's IObservers
IView's ISubject with IController's IObservers

Discussion


Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.