Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FISEI
LINQ
QU ES? Language Integrated Query o LINQ es una tecnologa integrada en .NET que proporciona la capacidad para consultar o manipular diversas fuentes de datos, independientes del proveedor utilizando de forma nativa la sintaxis de cualquier lenguaje de programacin soportado por .NET, lo cual nos proporciona el soporte del compilador y nos permite concentrarnos nicamente en las bsquedas en lugar de: cmo hacer la rutina para cada bsqueda, adems la sintaxis de LINQ es similar a SQL lo que nos proporciona un estndar ya que es la misma sintaxis para todas las fuentes de datos diferentes o similares.
Consultar Manipular
LINQ
CLASIFICACION: LINQ to SQL: Es el conjunto de clases, estructuras, interfaces y enumeraciones utilizadas para escribir consultas a bases de datos relacionales como PostgreSQL, SQL Server o MySQL. LINQ to Objects: Es la API predeterminada de LINQ y permite escribir consultas parar arreglos, estructuras y colecciones de objetos en memoria. LINQ to XML: Proporciona la habilidad de escribir consultas para procesar fuentes de datos XML. LINQ to DataSet: Es la API dedicada a trabajar con clases DataSets y DataTables.
VENTAJAS:
Colecciones en memoria y tiendas fuera de proceso de datos con la misma sintaxis y operadores de consulta Un estilo declarativo funciona muy bien para consultas - es ms fcil de leer y escribir en muchos casos Integracin de lenguaje Net permite a nuevos proveedores (dentro y fuera de proceso) a escribirse y aprovechar la misma sintaxis de expresiones de consulta. Sintaxis familiar para escribir consultas. Comprobacin en tiempo de compilacin de errores de sintaxis y seguridad de tipos. Compatibilidad mejorada con el depurador. Capacidad para trabajar directamente con elementos XML en lugar de crear un documento XML contenedor, que es lo que se requiere en W3C DOM. Modificacin de documentos XML en memoria de gran eficacia, an ms fcil de usar que XPath o XQuery. Funciones de filtrado, ordenacin y agrupacin eficaces. Modelo coherente para trabajar con datos en varios tipos de formatos y orgenes de datos.
CUANDO USAR LINQ: INQ nos permite utilizar una sintaxis mucho ms limpia y fcil de entender, que permite no complicarse la vida haciendo todo con for ya que LINQ facilita este trabajo. Veamos un ejemplo un poco ms complejo, donde tenemos un Arreglo en el cual queremos solo extraer los valores de los string que contengan nmeros, pero que no estn repetidos: string[] names = new string[]{ "12345", "Alfred", "Monica", "Ravi", "Jeffrey", "Alfred", "12345" }; var search = (from n in names where Char.IsDigit(n, 0) select n).Distinct(); foreach (string n in search){ Console.WriteLine(n); } //Salida: 12345
ENTITY FRAMEWORK
QU ES?
Entity Framework trata fundamentalmente de permitir que las aplicaciones obtengan acceso y cambien los datos que estn representados como entidades y relaciones en el modelo conceptual. Entity Framework usa la informacin de los archivos del modelo y de asignacin para traducir las consultas de objeto con los tipos de entidad que se representan en el modelo conceptual en consultas especficas del origen de datos. Framework trata fundamentalmente de permitir que las aplicaciones obtengan acceso y cambien los datos que estn representados como entidades y relaciones en el modelo conceptual. Entity Framework usa la informacin de los archivos del modelo y de asignacin para traducir las consultas de objeto con los tipos de entidad que se representan en el modelo conceptual en consultas especficas del origen de datos. El Entity Framework incluye el proveedor de datos de EntityClient. Este proveedor administra las conexiones, traduce las consultas de entidad en consultas especficas del origen de datos y devuelve un lector de datos que Entity Framework usa para materializar los datos de la entidad en los objetos. Cuando no se requiere la materializacin de los objetos, el proveedor de EntityClient tambin se puede utilizar como un proveedor de datos ADO.NET estndar habilitando las aplicaciones para ejecutar consultas Entity SQL y usar el lector de datos de solo lectura devuelto.
Componentes de EF
LINQ to Entities Entity Client / Object Services Entity SQL EDM (SSDL, MSL, CSDL) Proveedores de EF
VENTAJAS: Las aplicaciones pueden funcionar en trminos de un modelo conceptual ms centrado en la aplicacin, que incluye tipos con herencia, miembros complejos y relaciones. Las aplicaciones estn libres de dependencias de codificacin rgida de un motor de datos o de un esquema de almacenamiento.
Las asignaciones entre el modelo conceptual y el esquema especfico de almacenamiento pueden cambiar sin tener que cambiar el cdigo de la aplicacin. Los desarrolladores pueden trabajar con un modelo de objeto de aplicacin coherente que se puede asignar a diversos esquemas de almacenamiento, posiblemente implementados en sistemas de administracin de base de datos diferentes. Se pueden asignar varios modelos conceptuales a un nico esquema de almacenamiento. La compatibilidad con Language Integrated Query (LINQ) proporciona validacin de la sintaxis en el momento de la compilacin para consultas en un modelo conceptual.
PATRONES DE SOFTWARE
QU ES?
Es una tcnica de diseo de software que soluciona una clase de problemas concretos. Muchas veces nos encontramos frente al mismo problema una y otra vez, y optamos por soluciones distintas, perdiendo tiempo de desarrollo en encontrar una solucin. Adems, como no la hemos guardado, puede que olvidemos esa solucin y que la siguiente vez que nos encontremos ese problema, tengamos que volver a realizar todo el proceso de nuevas. POR QU USARLOS? Ahorran Tiempo. Evitan tener que volver a "reinventar la rueda" ante un problema que ya ha sido resuelto por otros ingenieros. Puede que tengamos que pensar aspectos de implementacin, pero la estructura del software es la misma siempre.
Categoras de patrones: De creacin: implica el proceso de instanciar objetos. Estructurales: composicin de objetos. De comportamiento De comportamiento: cmo se comunican los objetos cmo se comunican los objetos, cooperan y distribuyen las responsabilidades para lograr sus objetivos.
Abstract Factory
Permite crear, mediante una interfaz, conjuntos o familias de objetos (denominados productos) que dependen mutuamente y todo esto sin especificar cul es el objeto concreto.
o o o
Un sistema debe ser independiente de cmo sus objetos son creados. Un sistema debe ser 'configurado' con una cierta familia de productos. Se necesita reforzar la nocin de dependencia mutua entre ciertos objetos.
VENTAJAS: Brinda flexibilidad al aislar a las clases concretas. Facilita cambiar las familias de productos. DESVENTAJAS: Para agregar nuevos productos se deben modificar tanto las fabricas abstractas como
las concretas.
Caching
Permitir persistencia
Cryptography
Data Access
Exception Handling
Enterprise Library
Logging
Policy Injection
Security
Unity
Validation
lgica de validacin
CONCLUSION:
LINQ es un enfoque total que permite llevar la manipulacin de datos en los lenguajes orientados a objetos, librando los inconvenientes de trabajar con los lenguajes de manipulacin de datos que cada proveedor posee. Las aplicaciones que trabajan con Entity pueden funcionar en trminos de un modelo conceptual ms centrado en la aplicacin que incluye tipos con herencia, abstracciones y dems propiedades de la POO. El uso de patrones de software permiten que si desarrollamos cdigo para un proyecto, ste sea lo ms estndar y correcto posible, tanto a nivel de funcionalidad como a nivel de estructura. El uso de Enterprise Library permite trabajar con los datos proporcionndoles consistencia, seguridad mediante la validacin de campos, adems del manejo gil y eficaz.
BIBLIOGRAFIA:
http://www.humansharp.com/docs/TrabajandoLinq.pdf http://panicoenlaxbox.blogspot.com/2011/10/introduccion-entity-framework.html http://blog.intelligenia.com/2012/04/patrones-de-software-son-necesarios.html http://rmottap.blogspot.com/2009/07/enterprise-library.html