En el ORM, la capa de abstracción, encapsula la lógica de los datos. El resto de la aplicación no necesita saber las queries SQL y usando los objetos en lugar de las records de la base de datos y clases en lugar de tablas tiene otro beneficio: se pueden añadir nuevos métodos de acceso a las tablas. Por ejemplo si se tiene una tabla llamada Cliente con dos campos, Nombre y Apellido, se puede añadir un nuevo campo NombreCompleto que se componga de los dos sin necesidad de hacer ninguna modificación en la tabla o en la base de datos, simplemente añadiendo un nuevo método al objeto que representa la tabla de la base de datos que devuelva el Nombre y el Apellido concatenados como NombreCompleto.
-Symfony soporta dos ORMs escritos en PHP que son open source: Propel y Doctrine. Integra ambos y cuando se crea un nuevo proyecto se elige qué ORM usar.
+Symfony soporta dos ORMs escritos en PHP que son open source: Propel y Doctrine. Integra ambos y cuando se crea un nuevo proyecto se elige qué ORM usar. En este proyecto en concreto, se usará el ORM Doctrine.
+
+\cleardoublepage
\subsection{El patrón MVC}
\item La vista puede acceder a propiedades y métodos de controladores y modelos directamente. Sin embargo, esto debería ser realizado solo para presentación.
\end{itemize}
+\cleardoublepage
+
\subsubsection{El Controlador}
Los controladores enlazan el modelo, la vista y otros componentes de la aplicación. Tratan directamente con peticiones del usuario.
\label{fig:relationAmongTable}
\end{figure}
+\cleardoublepage
\section{PostgreSQL}
En la capa \emph{application framework} se encuentran numerosas librerías Java especialmente construidas para Android. También hay muchos servicios que proporcionan acceso a muchas de las capacidades del sistema sobre el que se está ejecutando Android: localización, sensores, WiFi, telefonía, etc. Esta es la capa que fundamentalmente usarán todos los desarrolladores de Android.
+\cleardoublepage
+
\subsection{Aplicaciones}
Finalmente, según lo mostrado en la Figura~\ref{fig:AndroidSystemArchitecture}), nos encontramos con la capa de aplicaciones creadas por los desarrolladores. Estas aplicaciones son las que finalmente interactúan con el usuario. Pueden venir preinstaladas en el dispositivo o pueden ser descargadas desde uno de los muchos \emph{Android markets}.