Category: .NET

Value Objects y DataTransfer Objects

By El_Hijo, February 28, 2010 10:08 pm

Value Objects y DataTransfer Objects

Ayer me surgió una duda muy interesante sobre los Value Objects y los DataTransfer Objects en la cual se definen de una forma diferente y según entiendo en Java se han llegado a confundir estos términos utilizándolos indistintamente.

Value Object:  http://c2.com/cgi/wiki?ValueObject

DataTransfer Object: http://en.wikipedia.org/wiki/Data_transfer_object

Me gustaría saber cuales son sus opiniones y como definirían los conceptos de Value Objects y de DataTransfer Objects.

Trabajar con dll’s de .Net propias en Integration Services (SSIS)

By Edgar Isaac, January 22, 2010 1:37 am

En este post veremos como utilizar una libreria de clases (dll) nuestra en Sql Server Integration Services (SSIS), mas específicamente utilizaremos un “Script Task”.

Esto resulta útil cuando necesitamos hacer cosas que SSIS propiamente no puede hacer, por lo que necesitamos meter mano (código) a nuestro ETL.

Propiamente los “Script Task” de  SSIS no tienen acceso a librerias fuera de .Net Framework, por esto, lo que tenemos que hacer es agregar nuestra librería al .Net Framework.

  • El primer paso es crear nuestra librería de clases
  • Nuestra  aplicación debe estar nombrada de forma segura (strong naming):
  • debemos crear una llave para agregarla a nuestra librería: en el SDK Command Prompt escribimos: sn -k c:\key.snk, de esta forma creamos en c:/ un archivo que va a servirnos como llave para nuestra libreria.
  • ahora nos toca agregar esta llave a nuestra librería:
  • posterior a esto compliamos y ya tenemos nuestra libreria strong named.
  • Ahora debemos agregar nuestro Assembly al CAG: de nuevo con el SDK Command Prompt: gacutil -i preuba.dll
  • Agregamos nuestra dll a la carpeta “C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727″ del servidor.
  • con esto ya hemos agregado nuestro assembly a .Net Framework para que esté disponible para SSIS
  • ahora tenemos que llamar a este assembly desde SSIS
  • dentro de nuestra aplicación de Visual Studio Bussines Inteligence Development Studio, en nuestro paquete de SSIS agregamos un nuevo “Script Task”
  • lo abrimos y en la página de scripts hacemos clic en “Design Script”
  • en el explorador de clases hacemos clic derecho en references y en add reference
  • ahi ya debería de aparecer nuestro assembly
  • lo agregamos a nuestro “Script Task” y listo, ya podemos utilizar nuestra librería en SSIS

C# 4.0 Programación Dinámica

By Edgar Isaac, January 16, 2010 12:07 am

Siguiendo algunas de las tendencias actuales de los lenguajes de programación, la nueva versión de C #, hablamos de la 4.0, tiene como principal característica que se inserta como una opción para programación dinámica.

¿Qué es programación Dinámica?

es un tipo de programación en la que el compilador deja de hacer varias funciones y estas se realizan en el runtime.

estás son algunas características de lenguajes dinámicos

1) Parseo (Análisis) de expresiones: Es poder enviar al lenguaje generalmente una cadena y que el tiempo de ejecución lo interprete como código ejecutable en el acto.

2) Verificación de tipos de datos. Si en C# tratamos de sumar perros, con enteros, con cadenas y con gatos, el compilador nativamente nos daría un error en tiempo de compilación la mayoría de las veces. Con un lenguaje dinámico podemos definir las reglas para manejar tipos de datos heterogéneos. Además es posible hacer el binding de un objeto a una variable

3) Redefinición y alteración a los tipos: En los lenguajes tradicionales (no dinámicos) una vez que hemos definido un tipo es imposible cambiarlo. Lenguajes como Phyton o Ruby permiten nativamente esto.

entre otras.

C# 4.0 tendrá una serie de características que permitirán este tipo de programación, entre otras están:

  • Objetos tipados de manera dinámica. la palabra dynamic Será la base de esta funcionalidad.
  • Mejorada la interoperabilidad COM.
  • Optinal and named parameters.
  • Co-and Contra-Variance.
  • Dynamic trees.
  • Dynamic Dispatch invocer.
  • Call Site Caching.

se agrega un nuevo runtime de .NET soportará los lenguajes de siempre de .NET como C# y Visual Basic pero además se incorporan IronRuby y IronPhyton apoyando la programación dinámica, además, claro está, se puede incluir cualquier otro lenguaje que cumpla con las convenciones del Common Language Specification (CLS).

Panorama Theme by Themocracy