PATRON DE DISEÑO:
El diseño del programa está basado en el patron de diseño Modelo-Vista-Controlador (MVC).
Vista: capa donde se presentan los gráficos, los formularios.
Controlador: capa donde las funciones para realizar las tareas correspondientes al módulo. Es el motor del módulo.
Modelo: capa donde se gestionan los datos de las tablas de la base de datos, WebServices, archivos xml, archivos de texto con parametrización.
La aplicación se organiza en una solución que contiene múltiples proyectos (o módulos), y éstos contienen sus librerías. Cada proyecto o módulo contiene
su própio entity framework para el mapeo de la base de datos en relación a las tablas propias que gestione ese módulo. Ninguna tabla se repite en ningún
entity framework y ningún campo de alguna tabla se repite en ninguna tabla de la base de datos, salvo alguna excepción.
El patrón de diseño está estructurado, separando la capa modelo de la vista, y localizando las distintas partes especificando el código a desarrollar, de esta forma
tenemos la misma estructura en todos los módulos-proyectos que componen el proyecto y usan el mismo patrón de código, haciendo que el código sea igual en todos los
archivos. También se usa la inyección de dependencias para encapsular los módulos y librerías. Las capas Controlador de los distintos módulos-proyectos se puede
conectar a cualquiera capa Modelo de cualquier proyecto para obtener de forma actualizada la obtención de la información que se necesite y que se trate en otro
proyecto.
Se usan librerías DLL propias: para el tratamiento de bases de datos de los distintos motores, para el aspecto gráfico, para estudio de errores de SQL, para impresiones,
para envío de emails, para el envío telemático y consultas a hacienda, para criptología y la librería que gestiona la base de datos del Plan General Contable (que
contiene su propio entity framework para encapsular esta base de datos). Estas librerías se usan en todos los proyectos (escritorio, WCF, web y mobile).
La aplicación incorpora un sistema automático de creación de contabilidad, creando por ahora el libro diario y el libro mayor, un sistema de actualizaciones automáticas
y un sistema de ticketing para incidencias y preguntas.
Con la aplicación se pueden presentar, modificar y anular facturas emitidas, recibidas, bienes de inversión y otras operaciones transcendentales, así como consultas y
listados de estas facturas e identificación de NIFs, directamente en hacienda, a través del SII de hacienda (Suministro Inmediato de Información). La comunicación con
el servidor de hacienda se hace a través de WebServices y usando el certificado digital de la Fábrica de Moneda y Timbre del usuario como seguridad.