- mcm
- doc
- INSTALL
- CHANGELOG
- BUGS
- manpage
- conf
- logs
- bin
- mcm.sh
- mcm
- __init__.py
- terminal
- __init__.py
- common
- __init__.py
- utils.py
- models.py
- controllers.py
- exceptions.py
- gtk
- __init__.py
- mcm-gtk.py
- mcm.glade
- mcm_icon.png
- qt
- __init__.py
- mcm-qt.gtk
Cada páquete o modulo de Python es definido por el fichero __ini__.py y serán estos los que podremos importar dentro de nuestros modulos y conseguir un empaquetado bien definido que nos permitira cumplir con facilidad el principio DRY.
De igual forma podemos ver que la misma estrúctura de directorios define un modelo MVC lo que facilita mucho el desarrollo para diferentes presentaciones. En mcm, reutilizamos las clases y métodos definidos para la aplicación CLI en las aplicaciones gráficas para GTK y Qt. Esto lo logramos, en el caso de GTK definiendo distintos eventos que utilizan a los controladores para crear y modificar nuestros modelos. Por ejemplo veamos como añadimos una conexión desde la vista GTK:
- def add_event(self, widget):
- # Obtenemos de distintas formas los datos necesarios
- connection = connections.connections_factory(x, y, z, a, b, c, d)
- connections.append(connection)
- def save_and_quit(self):
- dao = Dao()
- dao.save(connections)
No hay comentarios:
Publicar un comentario