Le 55 principali domande e risposte all'intervista MVC (PDF)
Domande e risposte sull'intervista MVC per le matricole
1) Cos'รจ il Model-View-Controller?
MVC รจ un modello di architettura software per lo sviluppoping Applicazioni web. Sono gestite da tre oggetti: Modello, Vista e Controller.
๐ Download gratuito del PDF: domande e risposte all'intervista MVC
2) Cosa rappresenta Model-View-Controller in un'applicazione MVC?
In un modello MVC,
- Modelloโ Rappresenta il dominio dei dati dell'applicazione. In altre parole, la logica aziendale di un'applicazione รจ contenuta nel modello ed รจ responsabile della gestione dei dati.
- Visualizzareโ Rappresenta l'interfaccia utente con cui comunicano gli utenti finali. In breve, tutta la logica dell'interfaccia utente รจ contenuta in View.
- Controllore- ร il controller che risponde alle azioni dell'utente. In base alle azioni dell'utente, il rispettivo controller risponde all'interno del modello e sceglie una vista da rendere che mostri l'interfaccia utente. La logica di input dell'utente รจ contenuta nel controller.
3) Assegnare un nome all'assembly per definire MVC
Migliori Quadro MVC รจ definito nell'assembly System.Web.Mvc.
4) Quali sono i diversi tipi di restituzione di un metodo di azione del controller
Ecco i diversi tipi restituiti di un metodo di azione del controller:
- Visualizza risultato
- JavaRisultato dello script
- Risultato reindirizzamento
- Risultato JSON
- Risultato del contenuto
5) Qual รจ la differenza tra l'aggiunta di percorsi a un'applicazione modulo Web e un'applicazione MVC?
Per aggiungere percorsi a un'applicazione webform, utilizziamo il metodo MapPageRoute() della classe RouteCollection, mentre per aggiungere percorsi a un'applicazione MVC, utilizziamo il metodo MapRoute().
6) Quali sono i due modi per aggiungere vincoli ad un percorso?
I due metodi per aggiungere vincoli a un percorso sono
- Usa espressioni regolari
- Utilizzare un oggetto che implementa l'interfaccia IRouteConstraint
7) Quali sono i vantaggi di MVC?
- MVC separa il tuo progetto in un segmento diverso e diventa facile per gli sviluppatori lavorarci
- ร facile modificare o cambiare alcune parti del tuo progetto che beneficiano di minori costi di sviluppo e manutenzione del progetto
- MVC rende il tuo progetto piรน sistematico
- Rappresenta una chiara separazione tra logica aziendale e logica di presentazione
- Ogni oggetto MVC ha responsabilitร diverse
- Lo sviluppo procede parallelamente
- Facile da gestire e mantenere
- Tutte le classi e gli oggetti sono indipendenti l'uno dall'altro
8) Cosa fanno le funzioni "beforeFilter()", "beforeRender" e "afterFilter" nel Controller?
- primaFiltro(): Questa funzione viene eseguita prima di ogni azione nel controller. ร il posto giusto per verificare la presenza di una sessione attiva o controllare le autorizzazioni dell'utente.
- primaRender(): Questa funzione viene chiamata dopo la logica dell'azione del controller, ma prima che venga eseguito il rendering della vista. Questa funzione non viene utilizzata spesso ma potrebbe essere necessaria se si chiama render() manualmente prima della fine di una determinata azione.
- dopoFiltro(): Questa funzione viene chiamata dopo ogni azione del controller e dopo aver eseguito il rendering. ร l'ultimo metodo del controller da eseguire.
9) Qual รจ il ruolo dei componenti? Presentazione, Abstraczione e controllo in MVC?
Ecco il ruolo dei componenti Presentazione, Abstraczione e controllo in MVC:
- Presentazione: ร la rappresentazione visiva di un asse specificotraczione all'interno dell'applicazione
- Abstraczione: ร la funzionalitร del dominio aziendale all'interno dell'applicazione
- Controllo: ร un componente che mantiene la coerenza tra gli asstraczione all'interno del sistema e la loro presentazione all'utente, oltre alla comunicazione con altri controlli all'interno del sistema
10) Quali sono gli svantaggi del modello MVC?
Ecco alcuni importanti svantaggi del modello MVC:
- Il modello รจ un po' complesso.
- Inefficienza di accesso ai dati in vista.
- Con un'interfaccia utente moderna, รจ difficile utilizzare MVC.
- Sono necessari piรน programmatori per lo sviluppo parallelo.
- Sono richieste molteplici conoscenze tecnologiche.
11) Qual รจ il ruolo degli "ActionFilters" in MVC?
In MVC, gli "ActionFilters" ti aiutano a eseguire la logica mentre l'azione MVC viene eseguita o รจ in esecuzione.
12) Quali sono i passaggi per l'esecuzione di un progetto MVC?
I passaggi per l'esecuzione di un progetto MVC includono:
- Ricevi la prima richiesta per l'applicazione
- Eseguire l'instradamento
- Crea un gestore di richieste MVC
- Crea controllore
- Esegui il controllore
- Invocare l'azione
- Esegui risultato
13) Cos'รจ il routing e i tre segmenti?
Il routing ti aiuta a decidere un URL struttura e mappa la URL con il Controller.
I tre segmenti importanti per il routing sono:
- NomeController
- NomeMetodoAzione
- Parametro
14) Come viene eseguito il routing nel modello MVC?
Esiste un gruppo di percorsi chiamato RouteCollection, che consiste in percorsi registrati nell'applicazione. Il metodo RegisterRoutes registra i percorsi in questa raccolta. Un percorso definisce un URL un modello e un gestore da utilizzare se la richiesta corrisponde al modello.
Il primo parametro del metodo MapRoute รจ il nome del percorso. Il secondo parametro sarร il modello a cui il URL corrispondenze. Il terzo parametro potrebbe essere il valore predefinito per i segnaposto se non รจ stato determinato.
15) Come si puรฒ navigare da una vista all'altra utilizzando un collegamento ipertestuale?
Utilizzando il metodo โActionLinkโ come mostrato nel codice seguente. Il codice seguente creerร un semplice URL che aiuta a navigare verso il controller "Home" e a richiamare l'azione "GotoHome".
Comprimi / Copia Code
<%= Html.ActionLink("Home", "Gotohome") %>
Domande e risposte all'intervista MVC per esperti
16) Come vengono mantenute le sessioni in MVC?
Le sessioni possono essere mantenute in MVC in tre modi: tempdata, viewdata e viewbag.
17) Qual รจ la differenza tra Dati temporanei, Visualizza dati e Visualizza borsa?
- Dati temporanei: Aiuta a conservare i dati quando si passa da un controller a un altro.
- Visualizza dati: Aiuta a conservare i dati quando si passa dal controller alla visualizzazione.
- Visualizza borsa: ร un wrapper dinamico attorno ai dati di visualizzazione.
18) Cos'รจ una visualizzazione parziale in MVC?
La visualizzazione parziale in MVC esegue il rendering di una parte del contenuto della visualizzazione. ร utile per ridurre la duplicazione del codice. In termini semplici, la vista parziale consente di eseguire il rendering di una vista all'interno della vista principale.
19) Come puoi implementare Ajax in MVC?
In MVC, Ajax puรฒ essere implementato in due modi
- Librerie Ajax
- jquery
20) Qual รจ la differenza tra โActionResultโ e โViewResultโ?
โActionResultโ รจ un assolutotracclasse t mentre โViewResultโ deriva da โAbstracLa classe "tResult". "ActionResult" ha diverse classi derivate come "JsonResult", "FileStreamResult" e "ViewResult".
"ActionResult" รจ la soluzione migliore se stai derivando diversi tipi di visualizzazioni in modo dinamico.
21) Come puoi inviare il risultato in formato JSON in MVC?
Per inviare il risultato in formato JSON in MVC, รจ possibile utilizzare la classe "JSONRESULT".
22) Qual รจ la differenza tra Visualizzazione e Visualizzazione Parziale?
Ecco la differenza tra Visualizzazione e Visualizzazione parziale
| Visualizzare | Vista parziale |
|---|---|
| Contiene la pagina di layout | Non contiene la pagina di layout |
| Prima che venga eseguito il rendering di qualsiasi vista, viene eseguito il rendering della pagina iniziale della vista | La visualizzazione parziale non viene verificata per viewstart.cshtml. Non รจ possibile inserire codice comune per una visualizzazione parziale all'interno di viewStart.cshtml.page |
| La vista potrebbe avere tag di markup come body, html, head, title, meta ecc. | La vista parziale รจ progettata appositamente per il rendering all'interno della vista e proprio per questo non contiene alcun markup |
| La visualizzazione non รจ leggera rispetto alla visualizzazione parziale | Possiamo passare una vista regolare al metodo RenderPartial |
23) Quali sono i tipi di risultati in MVC?
In MVC, ci sono dodici tipi di risultati in cui la classe "ActionResult" รจ la classe principale mentre gli 11 sono i loro sottotipi:
- Visualizza risultato
- Risultato vista parziale
- Risultato vuoto
- Risultato reindirizzamento
- Reindirizzamento al risultato del percorso
- JsonResult
- JavaRisultato dello script
- ContenutoRisultato
- RisultatoContenutoFile
- FileStreamResult
- FilePathResult
24) Qual รจ l'importanza di NonActionAttribute?
Tutti i metodi pubblici di una classe controller vengono trattati come metodo di azione se si desidera impedire questo metodo predefinito, รจ necessario assegnare il metodo pubblico con NonActionAttribute.
25) A cosa serve il percorso predefinito {resource}.axd/{*pathinfo}?
La route predefinita impedisce che le richieste per un file di risorse Web come Webresource.axd o ScriptResource.axd vengano passate al controller.
26) Qual รจ l'ordine dei filtri che vengono eseguiti, se vengono implementati piรน filtri?
L'ordine del filtro sarebbe come:
- Filtri di autorizzazione
- Filtri d'azione
- Filtri di risposta
- Filtri delle eccezioni
27) Quali filtri ASP.NET vengono eseguiti alla fine?
Alla fine vengono eseguiti i โFiltri di eccezioneโ.
28) Quali sono le estensioni dei file per le visualizzazioni rasoio?
Per le visualizzazioni rasoio, le estensioni dei file sono
- .cshtml: se C# รจ il linguaggio di programmazione
- .vbhtml: se VB รจ il linguaggio di programmazione
29) Quali sono le due modalitร per aggiungere vincoli ad un percorso?
Due metodi per aggiungere vincoli al percorso sono:
- Utilizzo delle espressioni regolari
- Utilizzando un oggetto che implementa l'interfaccia IRouteConstraint
30) Quali sono i due casi in cui il routing non รจ implementato o richiesto?
Sono due casi in cui il routing non รจ richiesto
- Quando viene trovato un file fisico corrispondente URL modello
- Quando il routing รจ disabilitato per un URL modello
Domande di intervista MVC per 5 anni di esperienza
31) Quali sono le caratteristiche di MVC?
Ecco le caratteristiche di MVC:
- Testabilitร facile e senza attriti. Framework altamente testabile, estensibile e collegabile.
- Offre il controllo completo sul tuo HTML e sul tuo URLs
- Sfrutta le funzionalitร esistenti fornite da ASP.NET, JSP, Django, ecc.
- Chiara separazione della logica: Modello, Vista, Controller. Separazione delle attivitร dell'applicazione tramite logica aziendale, logica UL e logica di input.
- URL Routing ottimizzato per i motori di ricerca URLs. Potente URL- carta geograficaping per comprensibile e ricercabile URLs.
- Supporto per lo sviluppo basato sui test (TDD).
32) Quali sono gli esempi reali di MVC?
Ecco un esempio reale di MVC:
- Supponiamo che tu vada in un ristorante. Non andrai in cucina a preparare il cibo, cosa che potresti sicuramente fare a casa tua. Invece, vai lรฌ e aspetti che arrivi il cameriere.
- Ora il cameriere viene da te e tu ordini semplicemente il cibo. Il cameriere non sa chi sei e cosa vuoi, ha appena scritto i dettagli del tuo ordine di cibo.
- Poi il cameriere si sposta in cucina. In cucina il cameriere non prepara il cibo.
- Il cuoco prepara il tuo cibo. Il cameriere riceve il tuo ordine insieme al numero del tuo tavolo.
- Il cuoco prepara quindi il cibo per te. Utilizza ingredienti per cucinare il cibo. Supponiamo che tu abbia ordinato un panino vegetale. Quindi ha bisogno di pane, pomodoro, patate, peperoni, cipolla, pezzetti, formaggio, ecc., che le fonti provengono dal frigorifero
- Il cuoco infine consegna il cibo al cameriere. Ora รจ compito del cameriere spostare questo cibo fuori dalla cucina.
- Ora il cameriere sa quale cibo hai ordinato e come viene servito.
In questo caso,
View= You Waiter= Controller Cook= Model Refrigerator= Data
33) Qual รจ la differenza tra 3 livelli Architecnologia e MVC Architecnologia?
Ecco una differenza tra 3 livelli Architecnologia e MVC Architecnologia:
| Parametro | 3-Tier Architectura | MVC Architectura |
|---|---|---|
| Communication | Questo tipo di modello di architettura non comunica mai direttamente con il livello dati. | Tutti i livelli comunicano direttamente utilizzando la topologia triangolare. |
| Impiego | 3 livelli: ampiamente utilizzato nelle applicazioni Web in cui client, livelli dati e middleware vengono eseguiti su piattaforme fisicamente separate. | Generalmente utilizzato su applicazioni eseguite su una singola workstation grafica. |
34) Come si puรฒ utilizzare l'architettura MVC in JSP?
L'esempio seguente mostra l'uso dell'architettura MVC in JSP:
- Prendiamo come esempio un modulo con due variabili, "email" e "password", che rappresenta il nostro livello di visualizzazione.
- Una volta che l'utente inserisce l'email e la password e clicca su Invia, l'azione viene passata in mvc_servlet, dove vengono passati l'email e la password.
- Questo mvc_servlet รจ il livello del controller. Qui in mvc_servlet, la richiesta viene inviata all'oggetto bean, che funge da livello del modello.
- I valori email e password vengono impostati nel bean e memorizzati per ulteriori scopi.
- Dal bean, il valore viene recuperato e mostrato nel livello di visualizzazione.
Mvc_esempio.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_success.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) Come funziona MVC in primavera?
Ecco come funziona MVC in primavera:
- DispatcherServlet riceve una richiesta.
- Dopodichรฉ, il DispatcherServlet comunica con HandlerMappingInoltre, revoca il controller associato a quella specifica richiesta.
- Il Controller elabora questa richiesta chiamando i metodi del servizio e un oggetto ModelAndView viene restituito dal DispatcherServlet.
- Il nome della vista viene inviato a ViewResolver per trovare la vista effettiva da richiamare.
- Successivamente, DispatcherServlet viene passato a View per eseguire il rendering del risultato.
- Utilizzando i dati del modello, la vista esegue il rendering e restituisce il risultato all'utente.
36) Quali sono i punti importanti da ricordare durante la creazione di un'applicazione MVC?
Ecco alcuni punti importanti da ricordare durante la creazione di un'applicazione MVC:
- ร necessario ricordare che ASP.net MVC non sostituisce le applicazioni basate su moduli Web ASP.Net
- L'approccio allo sviluppo di app MVC deve essere deciso in base ai requisiti e alle funzionalitร dell'applicazione forniti da ASP.net MVC per soddisfare le esigenze di sviluppo specifiche.
- Il processo di sviluppo delle applicazioni con ASP.NET MVC รจ piรน complesso rispetto alle applicazioni basate su web form.
- La manutenibilitร dell'applicazione รจ sempre maggiore con la separazione delle attivitร dell'applicazione.
37) Qual รจ la differenza tra Web Form e MVC?
Ecco una differenza tra Web Form e MVC:
| Scheda Sintetica | Web Forms | MVC |
|---|---|---|
| Modello | I moduli Web Asp.Net seguono il modello di sviluppo basato sugli eventi. | Asp.Net MVC utilizza un modello di sviluppo basato su modelli MVC. |
| Usato da allora | In circolazione dal 2002 | ร stato rilasciato per la prima volta nel 2009 |
| Supporto per lo stato di visualizzazione | Asp.Net Web Forms supporta lo stato di visualizzazione per la gestione dello stato sul lato client. | .Net MVC non supporta lo stato di visualizzazione. |
| URL Digitare | Asp.Net Web Forms ha un'interfaccia basata su file URLs. Significa che il nome del file esiste nel URLe devono esistere fisicamente. | Asp.Net MVC ha un percorso basato su URLciรฒ significa URLvengono reindirizzati ai controller e alle azioni. |
| Sintassi | Asp.Net MVC segue la sintassi dei moduli Web. | Asp.Net MVC segue la sintassi personalizzabile. |
| Visualizza tipo | Le viste dei moduli Web sono strettamente collegate a Code dietro (ASPX-CS), cioรจ la logica. | Le viste e la logica MVC vengono sempre mantenute separate. |
| Aspetto e sensazione coerenti | Dispone di pagine master per un aspetto coerente. | Asp.Net MVC dispone di layout per un aspetto coerente. |
| Code riutilizzabilitร | Web Forms offre controlli utente per la riutilizzabilitร del codice. | Asp.Net MVC offre visualizzazioni parziali per la riutilizzabilitร del codice. |
| Controllo per HTML | Less controllo sull'HTML renderizzato. | Controllo completo sull'HTML |
| gestione dello stato | Gestione automatica dello stato dei controlli. | Gestione manuale dello stato. |
| Supporto TDD | ร richiesto un TDD debole o personalizzato. | Incoraggia e include TDD! |
38) Come puoi visualizzare qualcosa in CodeAccenditore?
Ecco un codice per visualizzare qualcosa in CodeAccenditore:
<?=$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) Scrivi un codice per dimostrare Model, View e Controller in CodeAccenditore.
Ecco un codice per dimostrare Model, View e Controller in CodeAccenditore:
Apri il file Welcome.php controller che si trova application/controllers:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index()
{
$this->load->view('welcome_message');
}
}
Aggiorna l'indice come segue:
public function index()
{
$this->load->model('customers_model');
$data['customer'] = $this->customers_model->get_customer(3);
$this->load->view('welcome_message',$data);
}
Scrivere il seguente codice in customer_model.php in 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;
}
}
Apri Welcome_message.php situato in
application/views/welcome_message.php
Sostituisci il codice con il seguente
<!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) Puoi creare un'applicazione web sia con moduli web che con MVC?
Sร. ร necessario includere i riferimenti all'assembly MVC riportati di seguito nell'applicazione dei moduli Web per creare un'applicazione ibrida.
System.Web.Mvc System.Web.Razor System.ComponentModel.DataAnnotations
41) Come รจ possibile assegnare un nome alias per l'azione API Web ASP.NET?
Possiamo fornire un nome alias per l'azione API Web come nel caso di ASP.NET MVC utilizzando l'attributo "ActionName" come segue:
[HttpPost]
[ActionName("SaveStudentInfo")]
public void UpdateStudent(Student aStudent)
{
StudentRepository.AddStudent(aStudent);
}
42) Qual รจ la differenza principale tra MVC e WebAPI?
Ecco la differenza principale tra MVC e WebAPI:
Il framework MVC viene utilizzato per lo sviluppoping applicazioni che dispongono di un'interfaccia utente. A tale scopo, รจ possibile utilizzare le viste per la creazione dell'interfaccia utente.
WebAPI viene utilizzato per lo sviluppoping Servizi HTTP. Anche altre applicazioni possono richiamare i metodi WebAPI per recuperare tali dati.
43) Come puoi garantire che l'API Web restituisca solo dati JSON?
Per fare in modo che Web API serializzi l'oggetto restituito in formato JSON e restituisca solo dati JSON. Per questo, dovresti aggiungere il seguente codice nella classe WebApiConfig.cs in qualsiasi progetto Web API 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) Qual รจ la differenza tra MVVM e MVC?
Ecco le differenze importanti tra MVVM e MVC:
| MVC | MVVM |
|---|---|
| Un Controller รจ il punto di ingresso dell'Applicazione. | La vista รจ il punto di accesso all'applicazione. |
| Relazioni da una a molte tra controller e vista. | Relazioni da una a molte tra View e View Model. |
| La vista non ha riferimento al controller | La vista ha riferimenti al modello di vista. |
| MVC รจ il vecchio modello | MVVM รจ un modello relativamente nuovo. |
| Difficile da leggere, modificare, testare l'unitร e riutilizzare questo modello | Il processo di debug sarร complicato quando avremo associazioni di dati complesse. |
| Il componente del modello MVC puรฒ essere testato separatamente dall'utente | Facile per test unitari separati e il codice รจ guidato dagli eventi. |
45) Cos'รจ MVC in AngularJS?
Angular.js segue l'architettura MVC; di seguito รจ riportato lo schema del framework MVC.
- Il Controller rappresenta il livello che ha la logica aziendale. Gli eventi utente attivano le funzioni memorizzate nel controller. Gli eventi utente fanno parte del controller.
- Le visualizzazioni vengono utilizzate per rappresentare il livello di presentazione fornito agli utenti finali.
- I modelli vengono utilizzati per rappresentare i tuoi dati. I dati nel tuo modello possono essere semplici come avere solo dichiarazioni primitive. Ad esempio, se stai gestendo un'applicazione per studenti, il tuo modello di dati potrebbe avere solo un ID studente e un nome. Oppure puรฒ anche essere complesso avendo un modello di dati strutturato. Se stai gestendo un'applicazione di proprietร di un'auto, puoi avere strutture per definire il veicolo stesso in termini di cilindrata, capacitร di posti a sedere, ecc.
46) Qual รจ il ruolo di MVC in AngularJS?
Di seguito una semplice definizione del funzionamento di AngularJS Controller.
- La responsabilitร principale del controller รจ controllare i dati che vengono passati alla vista. L'ambito e la vista hanno una comunicazione bidirezionale.
- Le proprietร della vista possono chiamare "funzioni" nell'ambito. Inoltre, gli eventi sulla vista possono richiamare โmetodiโ sull'ambito. Il frammento di codice seguente fornisce un semplice esempio di una funzione.
- La funzione ($ scope) definita durante la definizione del controller e una funzione interna utilizzata per restituire la concatenazione di $ scope.firstName e $ scope.lastName.
- In AngularJS quando definisci una funzione come variabile, รจ conosciuta come Metodo.
- I dati in questo modo passano dal controller all'ambito, quindi passano avanti e indietro dall'ambito alla vista.
- L'ambito viene utilizzato per esporre il modello alla vista. Il modello puรฒ essere modificato tramite metodi definiti nell'ambito, che potrebbero essere attivati โโtramite eventi dalla vista. Possiamo definire un'associazione di modelli bidirezionale dall'ambito al modello.
- I controller non dovrebbero essere idealmente usati per manipolare il DOM. Questo dovrebbe essere fatto dalle direttive, che vedremo piรน avanti.
- La pratica migliore รจ disporre di controller basati sulla funzionalitร . Ad esempio, se hai un modulo per l'input e hai bisogno di un controller per questo, crea un controller chiamato "controller del modulo".
47) Come costruire un Controller di base in AngularJS
Lo snippet di codice seguente รจ una semplice pagina HTML che ha il titolo di "Registrazione evento" e contiene riferimenti a librerie importanti come Bootstrap, jquery e Angular.
- Stiamo aggiungendo riferimenti ai fogli di stile CSS bootstrap, che verranno utilizzati insieme alle librerie bootstrap.
- Stiamo aggiungendo riferimenti alle librerie AngularJS. Quindi ora, qualunque cosa faremo con angular.js in futuro verrร fatto riferimento a questa libreria.
- Stiamo aggiungendo riferimenti alla libreria bootstrap per rendere la nostra pagina web piรน reattiva per determinati controlli.
- Abbiamo aggiunto riferimenti alle librerie jquery che verranno utilizzate per la manipolazione del DOM. Ciรฒ รจ richiesto da Angular perchรฉ alcune delle funzionalitร di Angular dipendono da questa libreria.
Per impostazione predefinita, lo snippet di codice riportato sopra sarร presente in tutti i nostri esempi in modo da poter mostrare solo il codice specifico di angularJS nelle sezioni successive.
In secondo luogo, diamo un'occhiata ai nostri file e alla struttura dei file che inizieremo con il nostro corso:
- Innanzitutto, separiamo i nostri file in 2 cartelle come avviene con qualsiasi applicazione web convenzionale. Abbiamo la cartella "CSS". Conterrร tutti i nostri file di fogli di stile a cascata e poi avremo la nostra cartella "lib", che conterrร tutti i nostri JavaCopione File.
- Il file bootstrap.css viene inserito nella cartella CSS e viene utilizzato per aggiungere un aspetto gradevole al nostro sito Web.
- angular.js รจ il nostro file principale che รจ stato scaricato dal sito angularJS e conservato nella nostra cartella lib.
- Il file app.js conterrร il nostro codice per i controller.
- Il file bootstrap.js viene utilizzato per integrare il file bootstrap.cs per aggiungere funzionalitร bootstrap alla nostra applicazione web.
- Il file jquery verrร utilizzato per aggiungere funzionalitร di manipolazione DOM al nostro sito.
Esempio di utilizzo di angular.js:
Ciรฒ che vogliamo fare qui รจ semplicemente visualizzare le parole "AngularJS" sia in formato testo che in una casella di testo quando la pagina viene visualizzata nel browser.
<!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) Qual รจ l'uso di ng-controller nei file esterni in AngularJS
Eseguire i seguenti passaggi per utilizzare ng-controller nei file esterni in AngularJS
Passo 1) Nel file app.js, aggiungi il seguente codice per il tuo controller
angular.module('app',[]).controller('HelloWorldCtrl',function($scope)
{
$scope.message = "Hello World"
});
Passo 2) Ora, nel file Sample.html, aggiungi una classe div che conterrร la direttiva ng-controller e quindi aggiungi un riferimento alla variabile membro "message".
<!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) Scrivere codice per definire metodi in AngularJS Controller?
Ecco un codice per definire i metodi in 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) Scrivi il codice utilizzando ng-model per visualizzare il controllo di input multilinea in AngularJS.
Ecco un codice che utilizza ng-model per visualizzare il controllo di input multilinea in 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) Scrivere codice per dimostrare l'uso degli elementi di input.
Ecco un esempio di codice che utilizza gli elementi di input 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) Come si puรฒ creare un modello in PHP?
Ecco un codice per creare un modello in 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) Perchรฉ utilizzare PHP MVC Framework?
Dovresti usare PHP MVC Framework perchรฉ semplifica il lavoro con tecnologie complesse:
- Nascondere tutti i dettagli complessi dell'implementazione
- Fornire metodi standard che possiamo utilizzare per creare le nostre applicazioni.
- Aumento della produttivitร degli sviluppatori, perchรฉ l'implementazione di base di attivitร come la connessione al database, la sanificazione dell'input dell'utente, ecc., sono giร parzialmente implementate.
- Aderenza agli standard di codifica professionali
54) Quali sono i framework PHP MVC piรน diffusi?
Ecco i framework PHP MVC piรน diffusi:
CodeAccenditore: ร uno dei framework PHP MVC piรน popolari. ร leggero e ha una breve curva di apprendimento. Dispone di un ricco set di librerie che aiutano a creare rapidamente siti Web e applicazioni. Possono utilizzarlo anche gli utenti con una conoscenza limitata della programmazione OOP.
Kohana: Si tratta di un framework HMVC (Hierarchical Model View Controller) sicuro e leggero. Dispone di un ricco set di componenti per lo sviluppo.ping applicazioni rapidamente.
TortaPHP: ร modellato su Ruby su rotaie. ร noto per concetti come modelli di progettazione software, convenzione sulla configurazione, ActiveRecord, ecc.
Zend: Si tratta di una struttura potente;
- Sicuro, affidabile, veloce e scalabile
- Supporta il Web 2.0 e la creazione di servizi web.
Presenta API di fornitori come Amazon, Google, Flickr, Yahoo, ecc. ร ideale per lo sviluppoping applicazioni aziendali.
55) Come si possono creare visualizzazioni in PHP?
Ecco un codice per creare visualizzazioni in 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>
Creiamo ora la pagina dei risultati 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>
Queste domande del colloquio ti aiuteranno anche nel tuo viva(orale)







