(gdb) break *0x972

Debugging, GNU± Linux and WebHosting and ... and ...

Refactoring WebAlbums ViewSession interfaces, and MVC stuff

Since a few years, WebAlbums architecture is based on a software pattern derivated from the model–view–controller (MVC): the model–view–presenter

  • The application logic is implemented in the Service beans. It contains the core engine of the application.

  • I recently added a another presentation component, based on a fuse filesystem: WebAlbumsFS. But more on that later.

The key idea of this design is that each part is independent from the implementation of the other. That’s how I could added easily a filesystem front-end, in addition to the web interface. Likewise, the album information are currently stored in a MySQL database, but if you re-write the DAO engine, you can easily switch to any other back-end, without affecting the rest of the application.

  • The interface between the DAO and Service components is stored in the iDAO package,
  • and the interface between the Presentation and Service components are stored in the iService package.