Mostrando entradas con la etiqueta Framework. Mostrar todas las entradas
Mostrando entradas con la etiqueta Framework. Mostrar todas las entradas

24 octubre, 2011

Qué hay de nuevo en ASP.NET 4.0 y 4.5?

La nueva versión liberada por microsoft desde el pasado setiempbre plantea dudas acerca de las nuevas incorporacioes que éstos habrán realizado al Core de su plataforma de desarrollo.

Centrándonos en la plataforma de desarrollo web, tenemos los siguientes cambios en ésta versión del framework:

http://msdn.microsoft.com/en-us/library/s57a598e.aspx

¿Hácia dónde vamos?


  1. Estandarización y accesibilidad. De hecho, la versión 4.5 ya "saca" HTML5.

  2. MVC

  3. Experiencia de usuario: JQuery + Ajax y mejoras en UpdatePanels.

Será cuestión de no quedarse atrás no? :)


Ahora, si me permitís, voy a decir algo que muchos pensáis... "Ya sólo queda ver que SharePoint 20XX corre sobre Framework 4.0" ;)

15 enero, 2010

Force to implement a function with a default behaviour

Hoy, mientras refactorizava una parte de un código, he llegado a un punto en el que necesitaba crear una función en una clase, la cual tenia que ser de implementación obligada, pero sólo una parte de su código.
Añadido, necesitaba que se hiciera ésta implementación tipificada, dado que ese desarrollo tenían que implementar-lo muchas clases distintas.

Resumiendo:
- Necesitaba una clase base
- Un código que se forzada su implemnetación en sus hijos
- Permitir añadir código a la clase base, de manera que no tuviera que modificar las hijas.

¿Cómo? (cuando descubro ésta parte es cuando entiendo porqué la arquitectura de software puede encajar mágicamente tantas piezas y comportamientos)

abstract class BotellaFundamentals
{
public virtual void AbrirBotella()
{
// Espacio para un futuro
// Si ésta clase fuera real, probablemente sería mucho más genérica,
//por lo que previamente se realizaría un acceso a un controlador: ControlladorInstrumentos de Ibotella...

AbrirTapón();

// Espacio para cambiar en un futuro si se precisa
}

abstract protected void AbrirTapon();
}

class Botella : BotellaFundamentals
{
protected override void AbrirTapon()
{
// Implementación de abrir el tapon de la botella, o sea, ABRIR LA BOTELLA
}
}

Ventajas:
- Todo el mundo puede pedir que se abra la botella.
- Nadie sabe que se consigue abriendo el tapón, simplemente
- Si un dia inventan botellas con 5 tapones, el público no se va enterar, ya que todo el mundo llama a AbrirBotella();
Los cambios que supondrá será que sus clases hijas OBLIGATORIAMENTE deberán implementar la apertura de los otros 4 tapones.

Creo que es un apunte muy simple y aporta muchísimo a una solución.