Inicio de una aplicación ASP.NET Core
Introducción
ASP.NET Core es un framework para desarrollar aplicaciones web multiplatarforma, de código abierto y se encuentra disponible en GitHub. El hecho de que sea multiplataforma significa que nuestra aplicación no puede estar acoplada a un servidor concreto. Aparte de que nuestra aplicación sea multiplataforma tendremos otros beneficios adicionales:Método Main asíncrono disponible en C# 7.1
Punto de entrada Main
En .Net podemos crear programas con o sin un punto de entrada. Si tenemos un punto de entrada, el sistema operativo podrá cargar y ejecutar su código, y si no lo tenemos, el sistema operativo no podrá directamente ejecutar el programa, más bien será otro programa el que referencie nuestro código y sea él quien lo ejecute.Inicialización diferida
Introducción
La inicialización o carga diferida (lazy initialization) nos permite posponer la creación de un objeto hasta su primer uso. Esto nos ayuda a aumentar el rendimiento de nuestras aplicaciones cuando tenemos objetos muy pesados que no son necesarios de forma inmediata e incluso puede que no se lleguen a usar nunca. También nos permite mejorar el inicio de un programa priorizando la carga instantánea de los objetos necesarios al inicio y posponiendo la carga de otros objetos pesados después.Arboles de expresión y reflexión estática
Arboles de expresión
Un árbol de expresión es una expresión lambda sin compilar. Cuando utilizamos un árbol de expresión, el código de la expresión lambda se mantiene en memoria en forma de estructura de árbol binario. Se almacenan las partes de la expresión y las operaciones entre las partes por separado en una estructura de árbol. En este estructura los nodos representan operadores y las hojas representan valores. De esta forma es posible representar cualquier operación como una jerarquía. Veamos un ejemplo de árbol de expresión binario muy simple:Interfaces fluidas
Introducción
Martin Fowler definió la técnica Interfaz fluida (Fluent Interface) como un estilo para construir interfaces (APIs) orientadas a objetos que nos permite escribir un código fácilmente leíble.A continuación, mostraré como se implementa esta técnica con el encadenamiento de métodos (Method Chaining). Después ampliaré el post para ver esta misma técnica con métodos que aceptan como parámetros a delegados (
Actions
o Functions
), dando una mayor flexibilidad y expresividad a esta técnica.
Composición o herencia: Ser o tener
Introducción
El diseño de una solución software basado en objetos requiere que los objetos se relacionen entre sí. Cuando una clase necesita utilizar el código de otra clase necesitamos relacionar estas dos clases. Esta relación la podemos establecer de varias formas y dos de las más importantes en POO son:- heredando de una clase base: el objeto adquiere todas las propiedades y comportamientos del objeto base;
- por composición: conteniendo instancias de otros objetos que implementen esa funcionalidad.
La importancia del encapsulamiento. Parte 4. Encapsular constructores.
Encapsular constructores
Hay un principio de programación que dice: separar el uso de las clases de su creación. De la misma forma que anteriormente he mencionado que para acceder al estado de una clase se debe controlar la forma en que lo vamos a permitir por medio de los controladores de acceso, también se puede hacer extensible a su construcción.La importancia del encapsulamiento. Parte 3. Descriptores de acceso. Controlando la forma de acceder al estado.
Descriptores de acceso. Controlando la forma de acceder al estado.
Que una clase permita leer un valor a otra clase que lo requiera no quiere decir que lo pueda modificar. Y si una clase debe poder modificarlo no significa tampoco que lo pueda hacer de forma directa, sino que quizás debería utilizar descriptores de acceso (assessors), también llamados getters and setters o propiedades en .Net.La importancia del encapsulamiento. Parte 2. Un ejemplo de encapsulamiento en la vida real.
Un ejemplo de encapsulamiento en la vida real
Supongamos un taller de carpintería que fabrica muebles a medida. Por una parte tendríamos el propio taller, que sería la clase a encapsular. Por otra los clientes, que serían nuestros usuarios y representarían las clases que USAN la clase taller.La importancia del encapsulamiento. Parte 1. Introducción.
Introducción
En programación orientada a objetos el término encapsulamiento es utilizado indistintamente para describir dos conceptos diferentes pero a la vez relacionados entre sí:
- Como mecanismo de restricción del acceso a componentes de un objeto;
- Como construcción del lenguaje para facilitar el “empaquetado” del estado y el comportamiento.
You're up and running!
Next you can update your site name, avatar and other options using the _config.yml file in the root of your repository (shown below).