X-Git-Url: https://git.gumartinm.name/?a=blobdiff_plain;f=capitulo3%2Fcapitulo3.tex;h=021f95a748e03df40a48df750e61fd922f4aa8ff;hb=049f0a9801465dbabbf9bde7d59c363358c68d33;hp=ae76fe7c51fa65d7143d191fff62f7c891bd3e6b;hpb=d71af495d06eb5ef816618fd745a82a39b3b98a7;p=PFCLatex%2F.git diff --git a/capitulo3/capitulo3.tex b/capitulo3/capitulo3.tex index ae76fe7..021f95a 100644 --- a/capitulo3/capitulo3.tex +++ b/capitulo3/capitulo3.tex @@ -63,7 +63,9 @@ Un ORM está constituido de objetos que dan acceso a datos y de reglas de negoci 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} @@ -98,6 +100,8 @@ Representa el modelo en el formato que el usuario final desea. Las vistas, en ge \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. @@ -139,6 +143,7 @@ Una base de datos contiene una o más tablas de información. Las filas en una t \label{fig:relationAmongTable} \end{figure} +\cleardoublepage \section{PostgreSQL} @@ -245,11 +250,11 @@ Para conseguir que Android sea algo más que una simple compañía propiedad de En la Tabla~\ref{tab:versionesAndroid} se muestra el número de versión y API de las diferentes \emph{releases} del sistema operativo Android. Así como el tanto por ciento de dispositivos que hace uso de esa versión del total de dispositivos móviles que funcionan con Android. \begin{table}[H] -\begin{center} +\centering \scriptsize \begin{tabularx}{\textwidth}{|X|X|X|X|} \hline - \textbf{Versión de Android} & \textbf{API} & \textbf{Nombre} & \textbf{Distribución}\\ + {\cellcolor[gray]{0.8}}\textbf{Versión de Android} & {\cellcolor[gray]{0.8}}\textbf{API} & {\cellcolor[gray]{0.8}}\textbf{Nombre} & {\cellcolor[gray]{0.8}}\textbf{Distribución}\\ \hline Android 1.0 & 1 & & 0.1\% \\ Android 1.1 & 2 & & 0.1\% \\ @@ -271,7 +276,6 @@ En la Tabla~\ref{tab:versionesAndroid} se muestra el número de versión y API d \end{tabularx} \caption{\emph{Versiones de Android.}} \label{tab:versionesAndroid} -\end{center} \end{table} Lo más importante es el número o nivel de la API Android. Los números de versión cambian todo el tiempo, en ocasiones porque la API ha cambiado y otras veces porque se solucionan errores o se mejora la eficiencia del sistema operativo. @@ -339,6 +343,8 @@ El \emph{application framework} es un entorno que proporciona numerosos servicio 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}.