Las 55 preguntas y respuestas principales de la entrevista de MVC (PDF)
Preguntas y respuestas de la entrevista de MVC para principiantes
1) ยฟQuรฉ es Modelo-Vista-Controlador?
MVC es un patrรณn de arquitectura de software para el desarrollo.ping Aplicaciones web. Se gestiona mediante tres objetos: Modelo, Vista y Controlador.
๐ Descarga gratuita de PDF: Preguntas y respuestas de la entrevista de MVC
2) ยฟQuรฉ representa Model-View-Controller en una aplicaciรณn MVC?
En un modelo MVC,
- Modeloโ Representa el dominio de datos de la aplicaciรณn. En otras palabras, la lรณgica empresarial de una aplicaciรณn estรก contenida dentro del modelo y es responsable de mantener los datos.
- Verโ Representa la interfaz de usuario con la que se comunican los usuarios finales. En resumen, toda la lรณgica de la interfaz de usuario estรก contenida en View.
- Controlador- Es el controlador el que responde a las acciones del usuario. En funciรณn de las acciones del usuario, el controlador respectivo responde dentro del modelo y elige una vista para renderizar que muestra la interfaz de usuario. La lรณgica de entrada del usuario estรก contenida dentro del controlador.
3) Nombra el ensamblado para definir MVC
El Marco MVC se define en el ensamblado System.Web.Mvc.
4) ยฟCuรกles son los diferentes tipos de retorno de un mรฉtodo de acciรณn del controlador?
A continuaciรณn se muestran diferentes tipos de devoluciรณn de un mรฉtodo de acciรณn del controlador:
- Ver resultado
- JavaResultado del script
- Resultado de redirecciรณn
- Resultado JSON
- Resultado del contenido
5) ยฟCuรกl es la diferencia entre agregar rutas a una aplicaciรณn de formulario web y una aplicaciรณn MVC?
Para agregar rutas a una aplicaciรณn de formulario web, usamos el mรฉtodo MapPageRoute() de la clase RouteCollection, mientras que para agregar rutas a una aplicaciรณn MVC, usamos el mรฉtodo MapRoute().
6) ยฟCuรกles son las dos formas de agregar restricciones a una ruta?
Los dos mรฉtodos para agregar restricciones a una ruta son
- Usa expresiones regulares
- Utilice un objeto que implemente la interfaz IRouteConstraint
7) ยฟCuรกles son las ventajas de MVC?
- MVC segrega su proyecto en un segmento diferente y resulta fรกcil para los desarrolladores trabajar en รฉl.
- Es fรกcil editar o cambiar alguna parte de su proyecto, lo que se traduce en un menor costo de desarrollo y mantenimiento del proyecto.
- MVC hace que su proyecto sea mรกs sistemรกtico
- Representa una clara separaciรณn entre la lรณgica empresarial y la lรณgica de presentaciรณn.
- Cada objeto MVC tiene diferentes responsabilidades.
- El desarrollo avanza en paralelo
- Fรกcil de administrar y mantener
- Todas las clases y objetos son independientes entre sรญ.
8) ยฟQuรฉ hacen las funciones โbeforeFilter()โ, โbeforeRenderโ y โafterFilterโ en el Controlador?
- antes del filtro(): Esta funciรณn se ejecuta antes de cada acciรณn en el controlador. Es el lugar adecuado para comprobar si hay una sesiรณn activa o inspeccionar los permisos de los usuarios.
- antes de renderizar(): Esta funciรณn se llama despuรฉs de la lรณgica de acciรณn del controlador, pero antes de que se represente la vista. Esta funciรณn no se usa con frecuencia, pero puede ser necesaria si llama a render() manualmente antes del final de una acciรณn determinada.
- despuรฉs del filtro(): Esta funciรณn se llama despuรฉs de cada acciรณn del controlador y una vez finalizada la renderizaciรณn. Es el รบltimo mรฉtodo de controlador que se ejecuta.
9) ยฟCuรกl es el papel de los componentes Presentaciรณn, AbstracยฟCciรณn y control en MVC?
Aquรญ estรก el rol de los componentes Presentaciรณn, Abstracciรณn y control en MVC:
- Presentaciรณn: Es la representaciรณn visual de un abs especรญficotracciรณn dentro de la aplicaciรณn
- Abstracciรณn: Es la funcionalidad del dominio empresarial dentro de la aplicaciรณn.
- Controlar: Es un componente que mantiene la consistencia entre los abdominales.tracciรณn dentro del sistema y su presentaciรณn al usuario, ademรกs de comunicarse con otros controles dentro del sistema.
10) ยฟCuรกles son los inconvenientes del modelo MVC?
Aquรญ hay algunos inconvenientes importantes del modelo MVC:
- El patrรณn del modelo es un poco complejo.
- Ineficiencia del acceso a los datos a la vista.
- Con una interfaz de usuario moderna, es difรญcil utilizar MVC.
- Necesita varios programadores para el desarrollo paralelo.
- Se requieren conocimientos de mรบltiples tecnologรญas.
11) ยฟCuรกl es el papel de los "ActionFilters" en MVC?
En MVC, los "ActionFilters" le ayudan a ejecutar la lรณgica mientras se ejecuta o se ejecuta la acciรณn MVC.
12) ยฟCuรกles son los pasos para la ejecuciรณn de un proyecto MVC?
Los pasos para la ejecuciรณn de un proyecto MVC incluyen:
- Reciba la primera solicitud de la aplicaciรณn.
- Realizar enrutamiento
- Crear un controlador de solicitudes MVC
- Crear controlador
- Ejecutar controlador
- Invocar acciรณn
- Ejecutar resultado
13) ยฟQuรฉ es el enrutamiento y los tres segmentos?
El enrutamiento te ayuda a decidir una URL estructura y mapeo del URL con el controlador.
Los tres segmentos que son importantes para el enrutamiento son:
- Nombre del controlador
- Nombre del mรฉtodo de acciรณn
- Parรกmetro
14) ยฟCรณmo se realiza el enrutamiento en el patrรณn MVC?
Hay un grupo de rutas llamado RouteCollection, que consta de rutas registradas en la aplicaciรณn. El mรฉtodo RegisterRoutes registra las rutas en esta colecciรณn. Una ruta define una URL patrรณn y un controlador para usar si la solicitud coincide con el patrรณn.
El primer parรกmetro del mรฉtodo MapRoute es el nombre de la ruta. El segundo parรกmetro serรก el patrรณn al que se aplica. URL coincidencias. El tercer parรกmetro podrรญan ser los valores predeterminados para los marcadores de posiciรณn si no se determinan.
15) ยฟCรณmo se puede navegar de una vista a otra usando un hipervรญnculo?
Al usar el mรฉtodo โActionLinkโ como se muestra en el siguiente cรณdigo. El siguiente cรณdigo harรก una simple URL Esto ayuda a navegar hasta el controlador "Inicio" e invocar la acciรณn "Ir a Inicio".
Contraer / Copiar Code
<%= Html.ActionLink("Home", "Gotohome") %>
Preguntas y respuestas de la entrevista de MVC para experimentados
16) ยฟCรณmo se mantienen las sesiones en MVC?
Las sesiones se pueden mantener en MVC de tres formas: tempdata, viewdata y viewbag.
17) ยฟCuรกl es la diferencia entre datos temporales, ver datos y ver bolsa?
- Datos temporales: Ayuda a mantener los datos cuando se cambia de un controlador a otro.
- Ver datos: Ayuda a mantener los datos cuando pasa del controlador a la vista.
- Ver Bolsa: Es un contenedor dinรกmico alrededor de los datos de visualizaciรณn.
18) ยฟQuรฉ es una vista parcial en MVC?
La vista parcial en MVC representa una parte del contenido de la vista. Es รบtil para reducir la duplicaciรณn de cรณdigo. En tรฉrminos simples, la vista parcial permite representar una vista dentro de la vista principal.
19) ยฟCรณmo se puede implementar Ajax en MVC?
En MVC, Ajax se puede implementar de dos maneras.
- bibliotecas ajax
- Jquery
20) ยฟCuรกl es la diferencia entre โActionResultโ y โViewResultโ?
โActionResultโ es un abstract clase mientras que โViewResultโ se deriva de โAbstracLa clase โtResultโ tiene varias clases derivadas como โJsonResultโ, โFileStreamResultโ y โViewResultโ.
"ActionResult" es mejor si obtiene diferentes tipos de vistas de forma dinรกmica.
21) ยฟCรณmo se puede enviar el resultado en formato JSON en MVC?
Para enviar el resultado en formato JSON en MVC, puede utilizar la clase "JSONRESULT".
22) ยฟCuรกl es la diferencia entre Vista y Vista Parcial?
Aquรญ estรก la diferencia entre Vista y Vista Parcial
| Ver | Vista parcial |
|---|---|
| Contiene la pรกgina de diseรฑo. | No contiene la pรกgina de diseรฑo. |
| Antes de renderizar cualquier vista, se renderiza la pรกgina de inicio de vista. | La vista parcial no verifica si hay viewstart.cshtml. No podemos poner cรณdigo comรบn para una vista parcial dentro de viewStart.cshtml.page |
| La vista puede tener etiquetas de marcado como cuerpo, html, encabezado, tรญtulo, meta, etc. | La vista parcial estรก diseรฑada especialmente para renderizarse dentro de la vista y, precisamente por eso, no consta de ningรบn marcado. |
| La vista no es liviana en comparaciรณn con la vista parcial | Podemos pasar una vista normal al mรฉtodo RenderPartial. |
23) ยฟCuรกles son los tipos de resultados en MVC?
En MVC, hay doce tipos de resultados donde la clase "ActionResult" es la clase principal mientras que los 11 son sus subtipos:
- Ver resultado
- Resultado de vista parcial
- Resultado vacรญo
- Resultado de redirecciรณn
- Redirigir al resultado de la ruta
- JsonResultado
- JavaResultado del script
- ContenidoResultado
- ResultadoContenidoArchivo
- Resultado de flujo de archivos
- Resultado de ruta de archivo
24) ยฟCuรกl es la importancia de NonActionAttribute?
Todos los mรฉtodos pรบblicos de una clase de controlador se tratan como el mรฉtodo de acciรณn. Si desea evitar este mรฉtodo predeterminado, debe asignar el mรฉtodo pรบblico con NonActionAttribute.
25) ยฟCuรกl es el uso de la ruta predeterminada {resource}.axd/{*pathinfo}?
La ruta predeterminada evita que las solicitudes de un archivo de recursos web como Webresource.axd o ScriptResource.axd se pasen al controlador.
26) ยฟCuรกl es el orden de los filtros que se ejecutan si se implementan varios filtros?
El orden de los filtros serรญa como:
- Filtros de autorizaciรณn
- Filtros de acciรณn
- Filtros de respuesta
- Filtros de excepciones
27) ยฟQuรฉ filtros ASP.NET se ejecutan al final?
Al final se ejecutan los โFiltros de excepciรณnโ.
28) ยฟCuรกles son las extensiones de archivo para vistas de afeitar?
Para vistas nรญtidas, las extensiones de archivo son
- .cshtml: si C# es el lenguaje de programaciรณn
- .vbhtml: Si VB es el lenguaje de programaciรณn
29) ยฟCuรกles son las dos formas de agregar restricciones a una ruta?
Dos mรฉtodos para agregar restricciones a la ruta son:
- Usando expresiones regulares
- Usando un objeto que implementa la interfaz IRouteConstraint
30) ยฟCuรกles son dos casos en los que el enrutamiento no se implementa o no se requiere?
Dos casos en los que no se requiere enrutamiento son
- Cuando se encuentra un archivo fรญsico que coincide con el URL patrรณn
- Cuando el enrutamiento estรก deshabilitado para un URL patrรณn
Preguntas de la entrevista de MVC para 5 aรฑos de experiencia
31) ยฟCuรกles son las caracterรญsticas de MVC?
Estas son las caracterรญsticas de MVC:
- Comprobabilidad sencilla y sin fricciones. Marco altamente comprobable, extensible y conectable.
- Ofrece control total sobre su HTML, asรญ como sobre su URLs
- Aprovecha las funciones existentes proporcionadas por ASP.NET, JSP, Django, etc.
- Clara separaciรณn de lรณgica: Modelo, Vista, Controlador. Separaciรณn de tareas de aplicaciones mediante lรณgica empresarial, lรณgica Ul y lรณgica de entrada.
- URL Enrutamiento para optimizaciรณn SEO URLs. Potente URL- mapaping para que sea comprensible y se pueda buscar. URLs.
- Soporte para Test Driven Development (TDD).
32) ยฟCuรกles son los ejemplos de la vida real de MVC?
Aquรญ hay un ejemplo de la vida real de MVC:
- Supongamos que vas a un restaurante. No irรกs a la cocina a preparar comida, lo que seguramente podrรกs hacer en tu casa. En lugar de eso, simplemente vaya allรญ y espere a que llegue el camarero.
- Ahora el camarero se acerca a ti y tรบ simplemente pides la comida. El camarero no sabe quiรฉn es usted ni quรฉ quiere, simplemente anotรณ los detalles de su pedido de comida.
- Luego, el camarero se dirige a la cocina. En la cocina el camarero no prepara la comida.
- El cocinero prepara tu comida. El camarero recibe tu pedido junto con tu nรบmero de mesa.
- Luego, el cocinero prepara la comida para usted. Utiliza ingredientes para cocinar la comida. Supongamos que usted pidiรณ un sรกndwich de verduras. Entonces, รฉl necesita pan, tomate, papa, pimiento, cebolla, ajo, queso, etc., que obtiene del refrigerador.
- Finalmente el cocinero le entrega la comida al camarero. Ahora es trabajo del camarero sacar esta comida fuera de la cocina.
- Ahora el camarero sabe quรฉ comida has pedido y cรณmo se sirve.
En este caso,
View= You Waiter= Controller Cook= Model Refrigerator= Data
33) ยฟCuรกl es la diferencia entre 3 niveles? Architectura y MVC ArchiยฟTectura?
Aquรญ hay una diferencia entre 3 niveles. Architectura y MVC Architectura:
| Parรกmetro | 3-Tier Architectura | MVC Architectura |
|---|---|---|
| Comunicaciรณn | Este tipo de patrรณn de arquitectura nunca se comunica directamente con la capa de datos. | Todas las capas se comunican directamente mediante topologรญa triangular. |
| Uso | 3 niveles: ampliamente utilizado en aplicaciones web donde el cliente, los niveles de datos y el middleware se ejecutan en plataformas fรญsicamente separadas. | Generalmente se utiliza en aplicaciones que se ejecutan en una รบnica estaciรณn de trabajo grรกfica. |
34) ยฟCรณmo se puede utilizar la arquitectura MVC en JSP?
El siguiente ejemplo muestra el uso de la arquitectura MVC en JSP:
- Estamos tomando el ejemplo de un formulario con dos variables, โcorreo electrรณnicoโ y โcontraseรฑaโ, que es nuestra capa de visualizaciรณn.
- Una vez que el usuario ingresa el correo electrรณnico y la contraseรฑa y hace clic en enviar, la acciรณn se pasa a mvc_servlet, donde se pasan el correo electrรณnico y la contraseรฑa.
- Este mvc_servlet es la capa de controlador. Aquรญ, en mvc_servlet, la solicitud se envรญa al objeto bean, que actรบa como una capa modelo.
- Los valores de correo electrรณnico y contraseรฑa se configuran en el bean y se almacenan para fines futuros.
- Del bean, el valor se recupera y se muestra en la capa de vista.
Mvc_ejemplo.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>MVC Guru Example</title>
</head>
<body>
<form action="Mvc_servlet" method="POST">
Email: <input type="text" name="email">
<br />
Password: <input type="text" name="password" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
mvc_servlet.java
package demotest;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Mvc_servlet
*/
public class Mvc_servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Mvc_servlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String email=request.getParameter("email");
String password=request.getParameter("password");
TestBean testobj = new TestBean();
testobj.setEmail(email);
testobj.setPassword(password);
request.setAttribute("gurubean",testobj);
RequestDispatcher rd=request.getRequestDispatcher("mvc_success.jsp");
rd.forward(request, response);
}
}
TestBean.java
package demotest;
import java.io.Serializable;
public class TestBean implements Serializable{
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
private String email="null";
private String password="null";
}
Mvc_รฉxito.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="demotest.TestBean"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Success</title>
</head>
<body>
<%
TestBean testguru=(TestBean)request.getAttribute("gurubean");
out.print("Welcome, "+testguru.getEmail());
%>
</body>
</html>
35) ยฟCรณmo funciona MVC en Spring?
Asรญ es como funciona MVC en Spring:
- DispatcherServlet recibe una solicitud.
- Despuรฉs de eso, el DispatcherServlet se comunica con HandlerMap.pingTambiรฉn revoca el controlador asociado a esa solicitud especรญfica.
- El Controlador procesa esta solicitud llamando a los mรฉtodos de servicio y DispatcherServlet devuelve un objeto ModelAndView.
- El nombre de la vista se envรญa a ViewResolver para encontrar la Vista real que se va a invocar.
- Despuรฉs de eso, DispatcherServlet se pasa a Ver para representar el resultado.
- Al utilizar los datos del modelo, la Vista representa y envรญa el resultado al usuario.
36) ยฟCuรกles son los puntos importantes a recordar al crear una aplicaciรณn MVC?
Aquรญ hay algunos puntos importantes para recordar al crear una aplicaciรณn MVC:
- Debe recordar que ASP.net MVC no reemplaza las aplicaciones basadas en formularios web ASP.Net.
- El enfoque del desarrollo de aplicaciones MVC debe decidirse en funciรณn de los requisitos de la aplicaciรณn y las caracterรญsticas proporcionadas por ASP.net MVC para satisfacer las necesidades de desarrollo especรญficas.
- El proceso de desarrollo de aplicaciones con ASP.NET MVC es mรกs complejo en comparaciรณn con las aplicaciones basadas en formularios web.
- La mantenibilidad de la aplicaciรณn es siempre mayor con la separaciรณn de las tareas de la aplicaciรณn.
37) ยฟCuรกl es la diferencia entre Web Forms y MVC?
Aquรญ hay una diferencia entre Web Forms y MVC:
| Parรกmetros | web Forms | MVC |
|---|---|---|
| Modelo | Asp.Net Web Forms sigue un modelo de desarrollo basado en eventos. | Asp.Net MVC utiliza un modelo de desarrollo basado en patrones MVC. |
| Usado desde | Existe desde 2002 | Fue lanzado por primera vez en 2009. |
| Soporte para Ver estado | Asp.Net Web Forms admite la vista del estado para la gestiรณn del estado en el lado del cliente. | .Net MVC no admite el estado de visualizaciรณn. |
| URL tipo | ASP.NET Web Forms tiene archivos basados โโen archivos. URLs. Significa que el nombre del archivo existe en el URLy deben existir fรญsicamente. | Asp.Net MVC tiene rutas basadas en rutas. URLs eso significa URLLas s se redirigen a controladores y acciones. |
| Sintaxis | Asp.Net MVC sigue la sintaxis de formularios web. | Asp.Net MVC sigue la sintaxis personalizable. |
| Tipo de vista | Las vistas de formularios web estรกn estrechamente vinculadas a Code detrรกs(ASPX-CS), es decir, lรณgica. | Las vistas MVC y la lรณgica siempre se mantienen por separado. |
| Aspecto y sensaciรณn consistentes | Tiene pรกginas maestras para una apariencia consistente. | Asp.Net MVC tiene diseรฑos para una apariencia consistente. |
| Code Reutilizaciรณn | Web Forms ofrece controles de usuario para la reutilizaciรณn del cรณdigo. | Asp.Net MVC ofrece vistas parciales para la reutilizaciรณn del cรณdigo. |
| Controlar para HTML | Less control sobre HTML renderizado. | Control total sobre HTML |
| Administraciรณn del Estado | Gestiรณn automรกtica del estado de los controles. | Gestiรณn manual del estado. |
| soporte TDD | Se requiere TDD dรฉbil o personalizado. | ยกFomenta e incluye TDD! |
38) ยฟCรณmo puedes mostrar algo en CodeยฟEncendedor?
Aquรญ hay un cรณdigo para mostrar algo en CodeEncendedor:
<?=$title?> As opposed to <?php echo $title; ?> Control structures are usually written as follows <?php foreach ($customers as $customer): ?> <li> <p><?=$customer->first_name?><p> </li> <?php endforeach; ?>
39) Escriba un cรณdigo para demostrar Modelo, Vista y Controlador en CodeEncendedor.
Aquรญ hay un cรณdigo para demostrar Modelo, Vista y Controlador en CodeEncendedor:
Abra el archivo Welcome.php controlador ubicado en la aplicaciรณn/controladores:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index()
{
$this->load->view('welcome_message');
}
}
Actualice el รญndice de la siguiente manera:
public function index()
{
$this->load->model('customers_model');
$data['customer'] = $this->customers_model->get_customer(3);
$this->load->view('welcome_message',$data);
}
Escriba el siguiente cรณdigo en customer_model.php en application/models.
<?php
class Customers_model extends CI_Model {
public function get_customer($id) {
$data['id'] = 3;
$data['first_name'] = 'John';
$data['last_name'] = 'Doe';
$data['address'] = 'Kingstone';
return $data;
}
}
Abra bienvenido_message.php ubicado en
application/views/welcome_message.php
Reemplace el cรณdigo con el siguiente
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>CodeIgniter MVC Basics</title>
</head>
<body>
<h3>Customer Details Card</h3>
<p>Customer ID : <strong><?=$customer['id']?></strong></p>
<p>First Name : <strong><?=$customer['first_name']?></strong></p>
<p>Last Name : <strong><?=$customer['last_name']?></strong></p>
<p>Address : <strong><?=$customer['address']?></strong></p>
</body>
</html>
40) ยฟPuedes crear una aplicaciรณn web con formularios web y MVC?
Sรญ. Debe incluir las siguientes referencias de ensamblaje MVC en la aplicaciรณn de formularios web para crear una aplicaciรณn hรญbrida.
System.Web.Mvc System.Web.Razor System.ComponentModel.DataAnnotations
41) ยฟCรณmo se puede asignar un nombre de alias para la acciรณn API web ASP.NET?
Podemos dar un nombre de alias para la acciรณn de la API web igual que en el caso de ASP.NET MVC usando el atributo "ActionName" de la siguiente manera:
[HttpPost]
[ActionName("SaveStudentInfo")]
public void UpdateStudent(Student aStudent)
{
StudentRepository.AddStudent(aStudent);
}
42) ยฟCuรกl es la principal diferencia entre MVC y WebAPI?
Aquรญ estรก la principal diferencia entre MVC y WebAPI:
El marco MVC se utiliza para el desarrollo.ping aplicaciones que tienen una interfaz de usuario. Para ello, se pueden utilizar vistas para construir una interfaz de usuario.
WebAPI se utiliza para el desarrolloping Servicios HTTP. Otras aplicaciones tambiรฉn pueden usar los mรฉtodos de la API web para obtener esos datos.
43) ยฟCรณmo puede asegurarse de que la API web devuelva solo datos JSON?
Para que Web API serialice el objeto que retorna en formato JSON y devuelva solo datos JSON, debe agregar el siguiente cรณdigo en la clase WebApiConfig.cs en cualquier proyecto de Web API de MVC:
//JsonFormatter
//MediaTypeHeaderValue
Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));
1
2
3
//JsonFormatter
//MediaTypeHeaderValue
Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))
44) ยฟCuรกl es la diferencia entre MVVM y MVC?
Estas son las diferencias importantes entre MVVM y MVC:
| MVC | MVVM |
|---|---|
| Un Controlador es el punto de entrada a la Aplicaciรณn. | La Vista es el punto de entrada a la Aplicaciรณn. |
| Una o muchas relaciones entre Controlador y Vista. | Una o muchas relaciones entre Ver y Ver Modelo. |
| La vista no tiene referencia al controlador | Ver tiene referencias al modelo de vista. |
| MVC es un modelo antiguo | MVVM es un modelo relativamente nuevo. |
| Difรญcil de leer, cambiar, realizar pruebas unitarias y reutilizar este modelo. | El proceso de depuraciรณn serรก complicado cuando tengamos enlaces de datos complejos. |
| El componente del modelo MVC se puede probar por separado del usuario | Fรกcil para pruebas unitarias separadas y el cรณdigo estรก controlado por eventos. |
45) ยฟQuรฉ es MVC en AngularJS?
Angular.js sigue la arquitectura MVC, el diagrama del marco MVC se muestra a continuaciรณn.
- El Controlador representa la capa que tiene la lรณgica empresarial. Los eventos de usuario activan las funciones que estรกn almacenadas dentro de su controlador. Los eventos de usuario son parte del controlador.
- Las vistas se utilizan para representar la capa de presentaciรณn que se proporciona a los usuarios finales.
- Los modelos se utilizan para representar sus datos. Los datos de su modelo pueden ser tan simples como tener declaraciones primitivas. Por ejemplo, si estรก manteniendo una aplicaciรณn para estudiantes, su modelo de datos podrรญa tener simplemente una identificaciรณn de estudiante y un nombre. O tambiรฉn puede ser complejo al tener un modelo de datos estructurado. Si estรก manteniendo una aplicaciรณn de propiedad de automรณviles, puede tener estructuras para definir el vehรญculo en sรญ en tรฉrminos de su capacidad de motor, capacidad de asientos, etc.
46) ยฟCuรกl es el papel de MVC en AngularJS?
A continuaciรณn se muestra una definiciรณn simple del funcionamiento del controlador AngularJS.
- La responsabilidad principal del controlador es controlar los datos que pasan a la vista. El alcance y la vista tienen comunicaciรณn bidireccional.
- Las propiedades de la vista pueden llamar "funciones" en el alcance. Ademรกs, los eventos en la vista pueden llamar "mรฉtodos" en el alcance. El siguiente fragmento de cรณdigo ofrece un ejemplo sencillo de una funciรณn.
- La funciรณn ($scope) que se define al definir el controlador y una funciรณn interna que se utiliza para devolver la concatenaciรณn de $scope.firstName y $scope.lastName.
- En AngularJS, cuando define una funciรณn como una variable, se conoce como Mรฉtodo.
- De esta manera, los datos pasan del controlador al alcance, y luego los datos van y vienen del alcance a la vista.
- El alcance se utiliza para exponer el modelo a la vista. El modelo se puede modificar mediante mรฉtodos definidos en el alcance, que podrรญan activarse mediante eventos de la vista. Podemos definir un enlace de modelo bidireccional desde el alcance al modelo.
- Lo ideal es que los controladores no se utilicen para manipular el DOM. Esto se debe hacer mediante directivas, que veremos mรกs adelante.
- La mejor prรกctica es tener controladores basados โโen la funcionalidad. Por ejemplo, si tiene un formulario para entrada y necesita un controlador para ello, cree un controlador llamado "controlador de formulario".
47) Cรณmo construir un controlador bรกsico en AngularJS
El siguiente fragmento de cรณdigo es una pรกgina HTML simple que tiene el tรญtulo "Registro de eventos" y tiene referencias a bibliotecas importantes como Bootstrap, jQuery y Angular.
- Estamos agregando referencias a las hojas de estilo CSS de bootstrap, que se usarรกn junto con las bibliotecas de bootstrap.
- Estamos agregando referencias a las bibliotecas de AngularJS. Asรญ que ahora, todo lo que hagamos con angular.js en el futuro serรก referenciado desde esta biblioteca.
- Estamos agregando referencias a la biblioteca bootstrap para que nuestra pรกgina web responda mejor a ciertos controles.
- Hemos agregado referencias a bibliotecas jquery que se utilizarรกn para la manipulaciรณn DOM. Angular lo requiere porque algunas de las funciones de Angular dependen de esta biblioteca.
De forma predeterminada, el fragmento de cรณdigo anterior estarรก presente en todos nuestros ejemplos para que podamos mostrar solo el cรณdigo angularJS especรญfico en las secciones siguientes.
En segundo lugar, veamos nuestros archivos y la estructura de archivos que comenzaremos con nuestro curso:
- Primero, segregamos nuestros archivos en 2 carpetas como se hace con cualquier aplicaciรณn web convencional. Tenemos la carpeta โCSSโ. Contendrรก todos nuestros archivos de hojas de estilo en cascada, y luego tendremos nuestra carpeta "lib", que contendrรก todos nuestros JavaScript archivos.
- El archivo bootstrap.css se coloca en la carpeta CSS y se utiliza para agregar una buena apariencia a nuestro sitio web.
- Angular.js es nuestro archivo principal que se descargรณ del sitio angularJS y se guardรณ en nuestra carpeta lib.
- El archivo app.js contendrรก nuestro cรณdigo para los controladores.
- El archivo bootstrap.js se utiliza para complementar el archivo bootstrap.cs para agregar funcionalidad de arranque a nuestra aplicaciรณn web.
- El archivo jquery se utilizarรก para agregar la funcionalidad de manipulaciรณn DOM a nuestro sitio.
Ejemplo de uso de angular.js:
Lo que queremos hacer aquรญ es simplemente mostrar las palabras โAngularJSโ en formato de texto y en un cuadro de texto cuando se visualiza la pรกgina en el navegador.
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body>
<h3> Guru99 Global Event</h3>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="lib/angular.js"></script>
<script src="lib/bootstrap.js"></script>
<script src="lib/jquery-1.11.3.min.js"></script>
<div ng-app="DemoApp" ng-controller="DemoController">
Tutorial Name : <input type="text" ng-model="tutorialName"><br>
This tutorial is {{tutorialName}}
</div>
<script>
var app = angular.module('DemoApp',[]);
app.controller('DemoController', function($scope){
$scope.tutorialName = "Angular JS";
});
</script>
</body>
</html>
48) ยฟPara quรฉ sirve ng-controller en archivos externos en AngularJS?
Realice los siguientes pasos para usar ng-controller en archivos externos en AngularJS
Paso 1) En el archivo app.js, agregue el siguiente cรณdigo para su controlador
angular.module('app',[]).controller('HelloWorldCtrl',function($scope)
{
$scope.message = "Hello World"
});
Paso 2) Ahora, en su archivo Sample.html, agregue una clase div que contendrรก la directiva ng-controller y luego agregue una referencia a la variable miembro "mensaje".
<!DOCTYPE html>
<html ng-app="app">
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
<link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body>
<h3> Guru99 Global Event</h3>
<div class="container">
<div ng-controller="HelloWorldCtrl">{{message}}</div>
</div>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="lib/angular.js"></script>
<script src="lib/bootstrap.js"></script>
<script src="lib/jquery-1.11.3.min.js"></script>
<script src="app.js"></script>
</body>
</html>
49) ยฟEscribir cรณdigo para definir mรฉtodos en el controlador AngularJS?
Aquรญ hay un cรณdigo para definir mรฉtodos en AngularJS Controller:
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
<link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body ng-app="DemoApp">
<h3> Guru99 Global Event</h3>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="lib/angular.js"></script>
<script src="lib/bootstrap.js"></script>
<script src="lib/jquery-1.11.3.min.js"></script>
<div ng-app="DemoApp" ng-controller="DemoController">
Tutorial Name :<input type="text" ng-model="tutorialName"><br>
<br>
This tutorial is {{tutorialName}}
</div>
<script>
var app = angular.module('DemoApp', []);
app.controller('DemoController', function($scope) {
$scope.tutorialName = "Angular JS";
$scope.tName = function() {
return $scope.tName;
};
});
</script>
</body>
</html>
50) Escriba cรณdigo usando ng-model para mostrar el control de entrada de varias lรญneas en AngularJS.
Aquรญ hay un cรณdigo que usa ng-model para mostrar el control de entrada de varias lรญneas en AngularJS:
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
<link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body >
<h3> Guru99 Global Event</h3>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<div ng-app="DemoApp" ng-controller="DemoCtrl">
<form>
Topic Description:<br> <br>
<textarea rows="4" cols="50" ng-model="pDescription"></textarea><br><br>
</form>
</div>
<script>
var app = angular.module('DemoApp',[]);
app.controller('DemoCtrl', function($scope){
$scope.pDescription="This topic looks at how Angular JS works \nModels in Angular JS"});
</script>
</body>
</html>
51) Escriba cรณdigo para demostrar el uso de elementos de entrada.
A continuaciรณn se muestra un ejemplo de cรณdigo que utiliza elementos de entrada de AngulaJS:
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
<link rel="stylesheet" href="css/bootstrap.css"/>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
</head>
<body >
<h3> Guru99 Global Event</h3>
<div ng-app="DemoApp" ng-controller="DemoCtrl">
<form>
Topic Description:<br> <br>
Name : <input type="text" ng-model="pname"><br>
Topic : <br>
<input type="checkbox" ng-model="Topic.Controller">Controller<br>
<input type="checkbox" ng-model="Topic.Models">Models
</form>
</div>
<script>
var app = angular.module('DemoApp',[]);
app.controller('DemoCtrl', function($scope){
$scope.pname="Guru99";
$scope.Topic =
{
Controller:true,
Models:false
}; });
</script>
</body>
</html>
52) ยฟCรณmo se puede crear un modelo en PHP?
Aquรญ hay un cรณdigo para crear un modelo en PHP:
<?php
class Opinion_poll_model extends CI_Model
{
public function __construct()
{
$this->load->database();
}
public function total_votes()
{
$query = $this->db->select('COUNT(choice) as choices_count')->get('js_libraries');
return $query->row()->choices_count;
}
public function get_results()
{
$libraries = array("", "JQuery", "MooTools", "YUI Library", "Glow");
$table_rows = '';
for ($i = 1; $i < 5; $i++)
{
$sql_stmt = "SELECT COUNT(choice) choices_count FROM js_libraries WHERE choice = $i;";
$result = $model->
select($sql_stmt); $table_rows .= "<tr><td>" . $ libraries [$i] . " Got:</td><td><b>" . $result[0] . "</b> votes</td></tr>";
}
public function add_vote($choice)
{
$ts = date("Y-m-d H:i:s"); $data = array('choice' => $choice, 'ts' => $ts); $this->db->insert('js_libraries', $data);
}
}
?>
53) ยฟPor quรฉ utilizar PHP MVC Framework?
Deberรญas utilizar PHP MVC Framework porque simplifica el trabajo con tecnologรญas complejas al:
- Ocultar todos los detalles complejos de implementaciรณn
- Proporcionar mรฉtodos estรกndar que podemos utilizar para construir nuestras aplicaciones.
- Mayor productividad del desarrollador, esto se debe a que la implementaciรณn base de actividades como conectarse a la base de datos, desinfectar la entrada del usuario, etc., ya estรกn implementadas parcialmente.
- Cumplimiento de los estรกndares de codificaciรณn profesionales.
54) ยฟCuรกles son los marcos PHP MVC populares?
Estos son los marcos PHP MVC populares:
CodeEncendedor: Es uno de los frameworks PHP MVC mรกs populares. Es liviano y tiene una curva de aprendizaje corta. Tiene un rico conjunto de bibliotecas que ayudan a crear sitios web y aplicaciones rรกpidamente. Los usuarios con conocimientos limitados de programaciรณn orientada a objetos tambiรฉn pueden utilizarlo.
kohana: Es un modelo jerรกrquico de vista-controlador (HMVC) que es un marco seguro y ligero. Tiene un amplio conjunto de componentes para el desarrollo.ping aplicaciones rรกpidamente.
tortaPHP: Estรก inspirado en Ruby on Rails. Es conocido por conceptos como patrones de diseรฑo de software, convenciรณn sobre configuraciรณn, ActiveRecord, etc.
zend: Es un marco poderoso que es;
- Seguro, confiable, rรกpido y escalable
- Soporta Web 2.0 y creaciรณn de servicios web.
Cuenta con API de proveedores como Amazon, Google, Flickr, Yahoo, etc. Es ideal para desarrolladoresping aplicaciones empresariales.
55) ยฟCรณmo se pueden crear vistas en PHP?
Aquรญ hay un cรณdigo para crear vistas en PHP:
opinion_poll_form.php
<html>
<head>
<title>
JavaScript Libraries - Opinion Poll
</title>
</head>
<body>
<h3>JavaScript Libraries - Opinion Poll</h3>
<p><b>What is your favorite JavaScript Library? </b></p>
<form method="POST" action="index.php">
<p>
<input type="radio" name="vote" value="1" /> JQuery
<br />
<input type="radio" name="vote" value="2" /> MooTools
<br />
<input type="radio" name="vote" value="3" /> YUI Library
<br />
<input type="radio" name="vote" value="4" /> Glow </p>
<p>
<input type="submit" name="submitbutton" value="OK" />
</p>
</form>
</body>
</html>
Ahora creemos la pรกgina de resultados results.php
<html>
<head>
<title>JavaScript Libraries - Opinion Poll Results</title>
</head>
<body>
<h3>JavaScript Libraries - Opinion Poll Results</h3>
<p><b>What is your favorite JavaScript Library?</b></p>
<p><b><?php echo $total_votes; ?></b> people have thus far taken part in this poll:</p>
<p><table><tr><td>
<?php print($rows); ?>
</tr></td></table></p>
<p><a href="#">Return to voting page</a></p>
</body>
</html>
Estas preguntas de la entrevista tambiรฉn te ayudarรกn en tu viva(orals)







