Parte 2 - Tema 4 Flashcards
Desarrollo en plataforma Microsoft
¿Qué es .NET Framework?
Es una plataforma de desarrollo de aplicaciones de Microsoft que proporciona un entorno de ejecución consistente para la creación de diversas aplicaciones.
¿Cuáles son los componentes principales de .NET Framework?
Common Language Runtime (CLR), Biblioteca de clases de .NET Framework (FCL), Common Type System (CTS).
¿Qué es el CLR y cuál es su función?
El CLR es el motor de ejecución de .NET. Gestiona la ejecución del código, la memoria, el manejo de excepciones y la seguridad.
¿Qué es la FCL?
La FCL es una colección de clases reutilizables que proporcionan funcionalidades comunes como entrada/salida, manejo de cadenas, colecciones, etc.
¿Qué es el CTS?
El CTS define un conjunto de tipos de datos y reglas para la interacción entre diferentes lenguajes .NET.
¿Cuáles son las principales características de .NET Framework?
Interoperabilidad, seguridad, independencia de plataforma, portabilidad, etc.
¿Qué ventajas ofrece .NET Framework para los desarrolladores?
Mayor productividad, código más limpio y mantenible, acceso a una amplia gama de herramientas y bibliotecas.
¿Qué es el Common Language Infrastructure (CLI)?
Es una especificación abierta que define una plataforma de ejecución para cualquier lenguaje de programación. .NET Framework implementa el CLI.
¿Qué es el Just-In-Time (JIT) compilation?
Es el proceso de compilar el código intermedio (IL) a código nativo en tiempo de ejecución.
¿Cuál es la diferencia entre el garbage collection y la finalización de objetos?
El garbage collection libera automáticamente la memoria de objetos no referenciados, mientras que la finalización permite a los objetos realizar tareas de limpieza antes de ser destruidos.
¿Qué es un assembly?
Es la unidad de implementación de .NET que contiene el código IL, metadatos y recursos.
¿Qué es un managed code?
Es el código que se ejecuta bajo la gestión del CLR, ofreciendo beneficios como la seguridad y la gestión de memoria automática.
¿Qué es el Common Language Runtime (CLR)?
Es el motor de ejecución de .NET que gestiona la ejecución del código, la memoria y la seguridad.
¿Cuál es la diferencia entre un tipo de valor y un tipo de referencia?
Los tipos de valor almacenan directamente el valor en la memoria, mientras que los tipos de referencia almacenan una referencia a la ubicación del valor en la memoria.
¿Qué es el boxing y el unboxing?
El boxing es la conversión implícita de un tipo de valor a un tipo de referencia (object). El unboxing es la conversión explícita de un tipo de referencia (object) a un tipo de valor.
¿Qué es ASP.NET?
Es un framework para desarrollar aplicaciones web dinámicas utilizando .NET.
¿Cuál es la diferencia entre Web Forms y MVC?
Web Forms sigue un modelo de programación de eventos, mientras que MVC separa las preocupaciones en modelo, vista y controlador.
¿Qué es el ViewState?
Es un mecanismo para mantener el estado de los controles de un formulario web entre postbacks.
¿Qué es el Session State?
Almacena información específica de un usuario durante su sesión en el servidor.
¿Qué es el Application State?
Almacena información que es compartida por todos los usuarios de una aplicación.
¿Qué es el Global.asax?
Es un archivo de configuración global de una aplicación ASP.NET que permite manejar eventos de aplicación, sesión y solicitud.
¿Qué es un control de servidor?
Es un objeto que representa un elemento de la interfaz de usuario en una página ASP.NET.
¿Qué es un evento en ASP.NET?
Es una acción que ocurre en respuesta a una interacción del usuario o un evento del sistema.
¿Qué es el routing en ASP.NET MVC?
Es el proceso de mapear las URL entrantes a los controladores y acciones correspondientes.
¿Qué es el Razor?
Es un sintaxis de marcado para crear vistas en ASP.NET MVC
¿Qué es un modelo de vista en ASP.NET MVC
Es un objeto que contiene los datos que se van a mostrar en una vista.
¿Qué es un controlador en ASP.NET MVC?
Es una clase que maneja las solicitudes HTTP y devuelve una vista.
¿Qué es el Entity Framework?
Es un ORM (Object-Relational Mapper) que permite interactuar con bases de datos relacionales de forma orientada a objetos.
¿Qué es WPF?
Es un framework de presentación de Microsoft que permite crear interfaces de usuario ricas y personalizables para aplicaciones de escritorio.
¿Cuál es la diferencia entre WPF y Windows Forms?
WPF utiliza un modelo de programación basado en gráficos vectoriales, mientras que Windows Forms se basa en controles de Windows tradicionales. WPF ofrece mayor flexibilidad y escalabilidad.
¿Qué es XAML?
Es un lenguaje de marcado declarativo utilizado para definir la interfaz de usuario en WPF. Permite separar la lógica de la presentación.
¿Qué es un DependencyObject?
Es la clase base de la mayoría de los elementos de WPF. Permite el sistema de propiedades dependientes, que facilita el enlace de datos y la animación.
¿Qué es un RoutedEvent?
Es un tipo especial de evento que se propaga a través del árbol visual de un elemento.
¿Qué es un DataTemplate?
Define cómo se visualizan los datos en un control de lista o árbol.
¿Qué es un ControlTemplate?
Permite personalizar la apariencia de un control existente.
¿Qué es el binding de datos?
Es un mecanismo para conectar la interfaz de usuario con datos subyacentes.
¿Qué es MVVM
Es un patrón de diseño que separa la interfaz de usuario (View), la lógica de negocio (ViewModel) y los datos (Model).
¿Cuál es el rol de un ViewModel en MVVM?
Actúa como intermediario entre la vista y el modelo, exponiendo propiedades y comandos que pueden ser enlazados a la vista.
¿Qué es el diseño adaptativo en WPF?
Permite crear interfaces de usuario que se ajustan automáticamente a diferentes tamaños de pantalla y resoluciones.
¿Qué es un servicio web?
Es una aplicación que expone una interfaz a través de una red para permitir que otras aplicaciones se comuniquen con ella.
¿Cuáles son los principales tipos de servicios web?
SOAP (Simple Object Access Protocol) y REST (Representational State Transfer).
¿Qué es WCF?
Windows Communication Foundation es un framework de Microsoft para desarrollar servicios orientados a servicios (SOA).
¿Cuáles son los contratos de un servicio WCF?
Servicio, datos y mensaje.
¿Qué es el modelo de programación ASMX?
Es un modelo más antiguo para crear servicios web en .NET, basado en XML Web Services.
¿Qué es LINQ?
Language Integrated Query es una tecnología de Microsoft que permite escribir consultas sobre datos usando una sintaxis similar a SQL
¿Cuáles son los proveedores LINQ?
ToObjects, ToSQL, ToXML, etc.
¿Qué es ADO.NET?
Es un conjunto de clases para conectarse a bases de datos y manipular datos.
¿Cuáles son los componentes principales de ADO.NET?
Connection, Command, DataReader, DataSet, DataAdapter.
¿Qué es Entity Framework?
Es un ORM (Object-Relational Mapper) que permite modelar datos de una base de datos como objetos .NET.
¿Cuáles son los tipos de Entity Framework?
Entity Framework Core y Entity Framework 6.
¿Cómo se pueden exponer datos de una base de datos a través de un servicio web?
Utilizando LINQ para consultar los datos y luego serializarlos en un formato adecuado para el servicio web (JSON, XML).
¿Cuál es la diferencia entre utilizar ADO.NET directamente y Entity Framework para acceder a datos en un servicio web?
Entity Framework ofrece un nivel de abstracción más alto y facilita el desarrollo de aplicaciones orientadas a objetos.
¿Cuáles son las consideraciones de rendimiento al acceder a datos desde un servicio web?
Caching, optimización de consultas, conexiones a la base de datos, etc.
¿Cuáles son los principales mecanismos de seguridad en servicios web?
Autenticación (Windows, Forms, etc.), autorización (roles, permisos), cifrado (SSL/TLS).
¿Qué es WS-Security?
Es un conjunto de estándares para asegurar la comunicación en servicios web.
¿Qué es .NET Core?
Es una versión de .NET Framework de código abierto, multiplataforma y de alto rendimiento diseñada para crear aplicaciones modernas y en la nube.
¿Cuáles son las principales ventajas de .NET Core sobre .NET Framework?
Multiplataforma, rendimiento mejorado, modularidad, menor footprint, soporte para contenedores y microservicios.
¿Qué es el SDK de .NET Core?
Es un conjunto de herramientas que incluye el compilador, las bibliotecas y las herramientas de línea de comandos necesarias para desarrollar aplicaciones .NET Core.
¿Cuáles son los componentes principales de una aplicación .NET Core?
Host, servidor web (Kestrel), middleware, pipeline de solicitud, controladores, modelos y vistas (en el caso de MVC).
¿Qué es el middleware en .NET Core?
Son componentes que se ejecutan en el pipeline de solicitud y pueden realizar tareas como autenticación, autorización, logging y manejo de excepciones.
¿Cuál es la diferencia entre un controlador y un middleware?
Un controlador se encarga de procesar solicitudes HTTP específicas y generar respuestas, mientras que un middleware puede realizar tareas más generales en el pipeline de solicitud.
¿Qué es el patrón MVC en .NET Core?
Es un patrón de arquitectura que separa las preocupaciones en modelo (datos), vista (interfaz de usuario) y controlador (lógica).
¿Qué es Razor Pages?
Es una alternativa más sencilla a MVC para crear páginas web, combinando el marcado y la lógica en un solo archivo.
¿Qué es el Dependency Injection en .NET Core?
Es un patrón de diseño que permite administrar las dependencias de una clase, facilitando el testing y la mantenibilidad.
¿Qué es Maven?
Es una herramienta de gestión de proyectos de software para Java que automatiza la construcción, la distribución y la documentación de proyectos Java.
¿Cuáles son las principales ventajas de Maven?
Simplifica la gestión de dependencias, estandariza la estructura de proyectos y facilita la construcción de proyectos.
¿Qué es un POM en Maven?
Es el archivo de configuración principal de un proyecto Maven, donde se definen las dependencias, los plugins y otros aspectos del proyecto.
¿Qué es Spring?
Es un framework de aplicaciones empresariales de Java que proporciona una infraestructura completa para desarrollar aplicaciones Java empresariales.
¿Cuáles son los módulos principales de Spring?
Spring Core, Spring AOP, Spring ORM, Spring MVC, Spring Security, etc.
¿Qué es la inyección de dependencias en Spring?
Es un patrón de diseño que permite administrar las dependencias de un objeto, facilitando el testing y la mantenibilidad.
¿Qué es Spring Boot?
Es un framework que simplifica y acelera el desarrollo de aplicaciones Spring, proporcionando una configuración automática y una experiencia de desarrollo más rápida.
¿Cuáles son las principales ventajas de Spring Boot?
Desarrollo rápido, configuración mínima, integración con muchas tecnologías.
Qué es un starter en Spring Boot?
Son dependencias que proporcionan configuraciones predefinidas para diferentes tecnologías, como bases de datos, servidores web, etc.
¿Qué es JSF?
Es un framework para desarrollar interfaces de usuario web basadas en componentes.
¿Cuáles son los componentes principales de JSF?
Managed beans, páginas de faces, componentes UI, navegadores.
¿Qué es un managed bean en JSF?
Es una clase Java que representa un componente de la interfaz de usuario y se gestiona por el contenedor JSF.
¿Qué es JAX-WS?
Es una API de Java para desarrollar servicios web SOAP.
¿Cuáles son los elementos principales de un servicio web JAX-WS?
WSDL (Web Services Description Language), anotaciones, clases de servicio.
¿Qué es EJB?
Es una especificación de Java para desarrollar componentes empresariales distribuidos.
¿Cuáles son los tipos de EJB?
Session beans, entity beans, message-driven beans.
¿Cuáles son las ventajas de utilizar EJB?
Transacciones, seguridad, concurrencia, agrupamiento.
¿Qué es Hibernate?
Es un ORM (Object-Relational Mapper) para Java que permite mapear objetos Java a una base de datos relacional.
¿Cuáles son las principales características de Hibernate?
Mapeo de objetos, consultas HQL, transacciones, caché.
¿Qué es HQL?
Es el lenguaje de consulta de Hibernate, similar a SQL, pero orientado a objetos.