Le 55 principali domande e risposte all'intervista MVC (PDF)

Ecco le domande del colloquio MVC per i candidati più freschi ed esperti per ottenere il lavoro dei loro sogni.

 

Domande e risposte sull'intervista MVC per le matricole

1) Cos'è il Model-View-Controller?

MVC è un pattern di architettura software per lo sviluppo di applicazioni web. È gestito da tre oggetti, Model, View 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.
  • Visualizza– 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

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, Astrazione e Controllo in MVC?

Ecco il ruolo dei componenti Presentazione, Astrazione e Controllo in MVC:

  • Presentazione: È la rappresentazione visiva di un'astrazione specifica all'interno dell'applicazione
  • Astrazione: È la funzionalità del dominio aziendale all'interno dell'applicazione
  • Controllo: È un componente che mantiene la coerenza tra l'astrazione all'interno del sistema e la loro presentazione all'utente oltre a comunicare 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 una struttura URL e a mappare l'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 denominato RouteCollection, costituito da percorsi registrati nell'applicazione. Il metodo RegisterRoutes registra i percorsi in questa raccolta. Una route definisce un modello URL 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 corrisponde l'URL. Il terzo parametro potrebbe essere i valori predefiniti per i segnaposto se non vengono determinati.


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 richiamare l'azione "GotoHome".

Comprimi/Copia codice

<%= 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" è una classe astratta mentre "ViewResult" deriva dalla classe "AbstractResult". "ActionResult" ha una serie di 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

Visualizza 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 che corrisponde al pattern URL
  • Quando il routing è disabilitato per un pattern URL

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 pieno controllo sul tuo HTML e sui tuoi URL
  • 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.
  • Routing URL per URL SEO Friendly. Potente mappatura degli URL per URL comprensibili e ricercabili.
  • 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
Comunicazione 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.
  • Successivamente, il DispatcherServlet comunica con HandlerMapping. Revoca altresì il titolare del trattamento 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:

parametri 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.
Tipo di URL Asp.Net Web Forms dispone di URL basati su file. Significa che il nome del file esiste negli URL e devono esistere fisicamente. Asp.Net MVC dispone di URL basati su route, il che significa che gli URL vengono reindirizzati a controller e azioni.
Sintassi Asp.Net MVC segue la sintassi dei moduli Web. Asp.Net MVC segue la sintassi personalizzabile.
Visualizza tipo Le visualizzazioni Web Form sono strettamente collegate al Code Behind (ASPX-CS), ovvero alla 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.
Riutilizzabilità del codice 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 CodeIgniter?

Ecco un codice per visualizzare qualcosa in CodeIgniter:

<?=$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 Modello, Vista e Controller in CodeIgniter.

Ecco un codice per dimostrare Model, View e Controller in CodeIgniter:

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 sviluppare applicazioni dotate di un'interfaccia utente. Per questo, le visualizzazioni possono essere utilizzate per costruire un'interfaccia utente.

WebAPI viene utilizzata per sviluppare servizi HTTP. Altre app possono anche essere chiamate 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.

  1. Stiamo aggiungendo riferimenti ai fogli di stile CSS bootstrap, che verranno utilizzati insieme alle librerie bootstrap.
  2. Stiamo aggiungendo riferimenti alle librerie AngularJS. Quindi ora, qualunque cosa faremo con angular.js in futuro verrà fatto riferimento a questa libreria.
  3. Stiamo aggiungendo riferimenti alla libreria bootstrap per rendere la nostra pagina web più reattiva per determinati controlli.
  4. 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:

  1. 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.
  2. Il file bootstrap.css viene inserito nella cartella CSS e viene utilizzato per aggiungere un aspetto gradevole al nostro sito Web.
  3. angular.js è il nostro file principale che è stato scaricato dal sito angularJS e conservato nella nostra cartella lib.
  4. Il file app.js conterrà il nostro codice per i controller.
  5. Il file bootstrap.js viene utilizzato per integrare il file bootstrap.cs per aggiungere funzionalità bootstrap alla nostra applicazione web.
  6. 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>
        &nbsp;&nbsp;&nbsp;Topic Description:<br> <br>
        &nbsp;&nbsp;&nbsp;
    <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>
        &nbsp;&nbsp;&nbsp;Topic Description:<br> <br>
        &nbsp;&nbsp;&nbsp;
         
        Name : <input type="text" ng-model="pname"><br>
        &nbsp;&nbsp;&nbsp;
        Topic : <br>&nbsp;&nbsp;&nbsp;
        <input type="checkbox" ng-model="Topic.Controller">Controller<br>&nbsp;&nbsp;&nbsp;
        <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:

CodiceIgniter: È 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: È un Hierarchical Model View Controller HMVC che è un framework sicuro e leggero. Ha un ricco set di componenti per sviluppare 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 sviluppare 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)