55 Pertanyaan dan Jawaban Wawancara MVC Teratas (PDF)
Pertanyaan dan Jawaban Wawancara MVC untuk Mahasiswa Baru
1) Apa itu Model-View-Controller?
MVC adalah pola arsitektur perangkat lunak untuk mengembangkan aplikasi web. Pola ini ditangani oleh tiga objek, Model, View, dan Controller.
Unduh PDF Gratis: Pertanyaan & Jawaban Wawancara MVC
2) Apa yang diwakili oleh Model-View-Controller dalam aplikasi MVC?
Dalam model MVC,
- Model– Ini mewakili domain data aplikasi. Dengan kata lain, logika bisnis aplikasi terkandung dalam model dan bertanggung jawab untuk memelihara data.
- Liha– Ini mewakili antarmuka pengguna yang digunakan pengguna akhir untuk berkomunikasi. Singkatnya, semua logika antarmuka pengguna terkandung dalam View.
- Pengontrol- Pengontrollah yang menjawab tindakan pengguna. Berdasarkan tindakan pengguna, masing-masing pengontrol merespons dalam model dan memilih tampilan untuk dirender yang menampilkan antarmuka pengguna. Logika input pengguna terdapat di dalam pengontrol.
3) Beri nama assembly untuk mendefinisikan MVC
Kerangka MVC didefinisikan dalam rakitan System.Web.Mvc.
4) Apa sajakah tipe pengembalian yang berbeda dari metode tindakan pengontrol
Berikut adalah tipe pengembalian metode tindakan pengontrol yang berbeda:
- Lihat hasil
- JavaHasil Skrip
- Hasil Pengalihan
- Hasil JSON
- Hasil Konten
5) Apa perbedaan antara menambahkan rute ke aplikasi webform dan aplikasi MVC?
Untuk menambahkan rute ke aplikasi webform, kami menggunakan metode MapPageRoute() dari kelas RouteCollection, sedangkan untuk menambahkan rute ke aplikasi MVC, kami menggunakan metode MapRoute().
6) Apa dua cara untuk menambahkan batasan pada suatu rute?
Dua metode untuk menambahkan batasan pada suatu rute adalah
- Gunakan ekspresi reguler
- Gunakan objek yang mengimplementasikan IRouteConstraint Interface
7) Apa kelebihan MVC?
- MVC memisahkan proyek Anda ke dalam segmen yang berbeda, dan menjadi mudah bagi pengembang untuk mengerjakannya
- Sangat mudah untuk mengedit atau mengubah beberapa bagian proyek Anda sehingga menghasilkan lebih sedikit biaya pengembangan dan pemeliharaan proyek
- MVC membuat proyek Anda lebih sistematis
- Ini mewakili pemisahan yang jelas antara logika bisnis dan logika presentasi
- Setiap objek MVC memiliki tanggung jawab yang berbeda
- Pembangunan berlangsung secara paralel
- Mudah dikelola dan dipelihara
- Semua kelas dan objek tidak bergantung satu sama lain
8) Apa fungsi “beforeFilter()”, “beforeRender” dan “afterFilter” di Controller?
- sebelumFilter(): Fungsi ini berjalan sebelum setiap tindakan di pengontrol. Ini adalah tempat yang tepat untuk memeriksa sesi aktif atau memeriksa izin pengguna.
- sebelumRender(): Fungsi ini dipanggil setelah logika tindakan pengontrol, tetapi sebelum tampilan dirender. Fungsi ini jarang digunakan tetapi mungkin diperlukan jika Anda memanggil render() secara manual sebelum tindakan tertentu berakhir.
- setelahFilter(): Fungsi ini dipanggil setelah setiap tindakan pengontrol dan setelah rendering selesai. Ini adalah metode pengontrol terakhir yang dijalankan.
9) Apa peran komponen Presentasi, Abstraksi, dan Kontrol di MVC?
Berikut peranan komponen Presentation, Abstraksi, dan Control pada MVC:
- Presentasi: Ini adalah representasi visual dari abstraksi tertentu dalam aplikasi
- Abstraksi: Ini adalah fungsionalitas domain bisnis dalam aplikasi
- Kontrol: Ini adalah komponen yang menjaga konsistensi antara abstraksi dalam sistem dan presentasinya kepada pengguna selain berkomunikasi dengan kontrol lain dalam sistem
10) Apa kelemahan model MVC?
Berikut adalah beberapa kelemahan penting dari model MVC:
- Pola modelnya agak rumit.
- Inefisiensi akses data terlihat.
- Dengan antarmuka pengguna yang modern, sulit untuk menggunakan MVC.
- Anda memerlukan banyak pemrogram untuk pengembangan paralel.
- Diperlukan berbagai pengetahuan teknologi.
11) Apa peran "ActionFilters" di MVC?
Di MVC, "ActionFilters" membantu Anda menjalankan logika saat tindakan MVC dijalankan atau sedang dijalankan.
12) Apa saja langkah-langkah pelaksanaan proyek MVC?
Langkah-langkah pelaksanaan proyek MVC meliputi:
- Terima permintaan pertama untuk aplikasi tersebut
- Lakukan perutean
- Buat penangan permintaan MVC
- Buat Pengontrol
- Jalankan Pengontrol
- Meminta tindakan
- Jalankan Hasil
13) Apa itu routing dan tiga segmen?
Perutean membantu Anda menentukan struktur URL dan memetakan URL dengan Pengontrol.
Tiga segmen yang penting untuk routing adalah:
- Nama Pengontrol
- NamaMetode Tindakan
- Parameter
14) Bagaimana perutean dilakukan dalam pola MVC?
Ada sekelompok rute yang disebut RouteCollection, yang terdiri dari rute-rute yang terdaftar dalam aplikasi. Metode RegisterRoutes mencatat rute dalam koleksi ini. Rute mendefinisikan pola URL dan penangan yang akan digunakan jika permintaan cocok dengan pola tersebut.
Parameter pertama pada metode MapRoute adalah nama rute. Parameter kedua adalah pola yang cocok dengan URL. Parameter ketiga mungkin merupakan nilai default untuk placeholder jika tidak ditentukan.
15) Bagaimana cara menavigasi dari satu tampilan ke tampilan lainnya menggunakan hyperlink?
Dengan menggunakan metode “ActionLink” seperti yang ditunjukkan pada kode di bawah ini. Kode di bawah ini akan membuat URL sederhana yang membantu menavigasi ke pengontrol “Beranda” dan menjalankan tindakan “GotoHome”.
Ciutkan / Salin Kode
<%= Html.ActionLink("Home", "Gotohome") %>
Pertanyaan dan Jawaban Wawancara MVC untuk Berpengalaman
16) Bagaimana sesi dipertahankan di MVC?
Sesi dapat dipertahankan di MVC dengan tiga cara: tempdata, viewdata, dan viewbag.
17) Apa perbedaan antara data Temp, Lihat data, dan Lihat Tas?
- Data sementara: Membantu memelihara data saat Anda berpindah dari satu pengontrol ke pengontrol lainnya.
- Lihat data: Ini membantu menjaga data saat Anda berpindah dari pengontrol ke tampilan.
- Lihat Tas: Ini adalah pembungkus dinamis di sekitar data tampilan.
18) Apa yang dimaksud dengan tampilan sebagian di MVC?
Tampilan sebagian di MVC merender sebagian konten tampilan. Ini membantu dalam mengurangi duplikasi kode. Secara sederhana, tampilan parsial memungkinkan rendering tampilan dalam tampilan induk.
19) Bagaimana cara mengimplementasikan Ajax di MVC?
Di MVC, Ajax dapat diimplementasikan dengan dua cara
- Perpustakaan Ajax
- jquery
20) Apa perbedaan antara “ActionResult” dan “ViewResult”?
“ActionResult” adalah kelas abstrak sedangkan “ViewResult” berasal dari kelas “AbstractResult”. “ActionResult” memiliki sejumlah kelas turunan seperti “JsonResult”, “FileStreamResult” dan “ViewResult”.
“ActionResult” adalah pilihan terbaik jika Anda mendapatkan berbagai jenis tampilan secara dinamis.
21) Bagaimana cara mengirim hasilnya kembali dalam format JSON di MVC?
Untuk mengirim hasilnya kembali dalam format JSON di MVC, Anda dapat menggunakan kelas “JSONRESULT”.
22) Apa perbedaan antara Tampilan dan Tampilan Parsial?
Inilah perbedaan antara Tampilan dan Tampilan Parsial
Liha | Tampilan Sebagian |
---|---|
Ini berisi halaman tata letak | Itu tidak berisi halaman tata letak |
Sebelum tampilan apa pun dirender, halaman awal tampilan dirender | Tampilan sebagian tidak memverifikasi untuk viewstart.cshtml. Kami tidak dapat memasukkan kode umum untuk tampilan sebagian dalam viewStart.cshtml.halaman |
Tampilan mungkin memiliki tag markup seperti body, html, head, title, meta dll. | Tampilan parsial dirancang khusus untuk dirender dalam tampilan, dan karena itu tidak mengandung markup apa pun |
Tampilan tidak ringan dibandingkan dengan Tampilan Parsial | Kita dapat meneruskan tampilan reguler ke metode RenderPartial |
23) Apa saja jenis hasil di MVC?
Di MVC, ada dua belas tipe hasil di mana kelas “ActionResult” adalah kelas utama sedangkan 11 adalah subtipenya:
- Lihat hasil
- Hasil Tampilan Parsial
- Hasil Kosong
- Hasil Pengalihan
- RedirectToRouteResult
- Hasil JSON
- JavaHasil Skrip
- Hasil Konten
- FileContentResult
- Hasil FileStream
- Hasil FilePath
24) Apa pentingnya NonActionAttribute?
Semua metode publik dari kelas pengontrol diperlakukan sebagai metode tindakan. Jika Anda ingin mencegah metode default ini, maka Anda harus menetapkan metode publik dengan NonActionAttribute.
25) Apa gunanya rute default {resource}.axd/{*pathinfo}?
Rute default mencegah permintaan file sumber daya web seperti Webresource.axd atau ScriptResource.axd diteruskan ke pengontrol.
26) Bagaimana urutan filter yang dijalankan, jika beberapa filter diterapkan?
Urutan filternya akan seperti ini:
- Filter otorisasi
- Filter tindakan
- Filter respons
- Filter pengecualian
27) Filter ASP.NET apa yang akhirnya dijalankan?
Pada akhirnya “Filter Pengecualian” dijalankan.
28) Apa saja ekstensi file untuk tampilan pisau cukur?
Untuk tampilan pisau cukur, ekstensi filenya adalah
- .cshtml: Jika C# adalah bahasa pemrogramannya
- .vbhtml: Jika VB adalah bahasa pemrogramannya
29) Apa dua cara untuk menambahkan batasan pada suatu rute?
Dua metode untuk menambahkan batasan pada rute adalah:
- Menggunakan ekspresi reguler
- Menggunakan objek yang mengimplementasikan antarmuka IRouteConstraint
30) Apa dua contoh di mana perutean tidak diterapkan atau diperlukan?
Dua contoh di mana perutean tidak diperlukan adalah
- Ketika ditemukan file fisik yang cocok dengan pola URL
- Saat perutean dinonaktifkan untuk pola URL
Pertanyaan Wawancara MVC untuk Pengalaman 5 Tahun
31) Apa saja fitur MVC?
Berikut adalah fitur-fitur MVC:
- Kemampuan pengujian yang mudah dan tanpa gesekan. Kerangka kerja yang sangat dapat diuji, diperluas, dan dapat dipasang.
- Menawarkan kontrol penuh atas HTML dan URL Anda
- Memanfaatkan fitur yang ada yang disediakan oleh ASP.NET, JSP, Django, dll.
- Pemisahan logika yang jelas: Model, Tampilan, Pengontrol. Pemisahan tugas aplikasi melalui logika bisnis, logika Ul, dan logika input.
- Perutean URL untuk URL Ramah SEO. Pemetaan URL yang kuat untuk URL yang mudah dipahami dan dicari.
- Dukungan untuk Pengembangan Berbasis Tes (TDD).
32) Apa contoh nyata MVC?
Berikut adalah contoh nyata MVC:
- Misalkan Anda pergi ke restoran. Anda tidak akan pergi ke dapur dan menyiapkan makanan yang pasti bisa Anda lakukan di rumah. Sebaliknya, Anda tinggal pergi ke sana dan menunggu pelayannya datang.
- Sekarang pelayan mendatangi Anda, dan Anda tinggal memesan makanan. Pelayan tidak tahu siapa Anda dan apa yang Anda inginkan, dia hanya menuliskan detail pesanan makanan Anda.
- Kemudian, pelayan pindah ke dapur. Di dapur, pelayan tidak menyiapkan makanan Anda.
- Juru masak menyiapkan makanan Anda. Pelayan akan memberikan pesanan Anda beserta nomor meja Anda.
- Juru masak kemudian menyiapkan makanan untuk Anda. Ia menggunakan bahan-bahan untuk memasak makanan tersebut. Misalkan Anda memesan sandwich sayuran. Kemudian ia membutuhkan roti, tomat, kentang, paprika, bawang, bit, keju, dll., yang sumbernya dari lemari es.
- Cook akhirnya menyerahkan makanannya kepada pelayan. Sekarang tugas pelayan adalah memindahkan makanan ini ke luar dapur.
- Sekarang pelayan tahu makanan apa yang Anda pesan dan bagaimana cara menyajikannya.
Dalam hal ini,
View= You Waiter= Controller Cook= Model Refrigerator= Data
33) Apa perbedaan antara 3 tingkat Architekstur dan MVC Architekstur?
Berikut perbedaan antara 3 tingkat Architekstur dan MVC Architekstur:
Parameter | 3-Tingkat Architekstur | MVC Architekstur |
---|---|---|
Komunikasi | Pola arsitektur jenis ini tidak pernah berkomunikasi langsung dengan lapisan data. | Semua lapisan berkomunikasi secara langsung menggunakan topologi segitiga. |
penggunaan | 3-tier: banyak digunakan dalam aplikasi web di mana klien, tingkatan data, dan middleware berjalan pada platform yang terpisah secara fisik. | Umumnya digunakan pada aplikasi yang berjalan pada satu workstation grafis. |
34) Bagaimana Anda menggunakan arsitektur MVC di JSP?
Contoh berikut menunjukkan penggunaan arsitektur MVC dalam JSP:
- Kami mengambil contoh formulir dengan dua variabel, “email” dan “kata sandi” yang merupakan lapisan tampilan kami.
- Setelah pengguna memasukkan email dan kata sandi, lalu mengklik kirim, maka tindakan tersebut diteruskan ke mvc_servlet di mana email dan kata sandi diteruskan.
- Mvc_servlet ini adalah lapisan pengontrol. Di sini, di mvc_servlet, permintaan dikirim ke objek bean, yang bertindak sebagai lapisan model.
- Nilai email dan kata sandi dimasukkan ke dalam bean dan disimpan untuk tujuan selanjutnya.
- Dari bean, nilainya diambil dan ditampilkan di lapisan tampilan.
Mvc_example.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) Bagaimana MVC bekerja di Musim Semi?
Inilah cara kerja MVC di Spring:
- DispatcherServlet menerima permintaan.
- Setelah itu, DispatcherServlet berkomunikasi dengan HandlerMapping. Ini juga mencabut pengontrol yang terkait dengan permintaan spesifik tersebut.
- Pengontrol memproses permintaan ini dengan memanggil metode layanan, dan objek ModelAndView dikembalikan oleh DispatcherServlet.
- Nama tampilan dikirim ke ViewResolver untuk menemukan Tampilan aktual yang akan dipanggil.
- Setelah itu, DispatcherServlet diteruskan ke View untuk merender hasilnya.
- Dengan menggunakan data model, Tampilan merender dan mengirimkan kembali hasilnya ke pengguna.
36) Apa saja poin penting yang perlu diingat saat membuat aplikasi MVC?
Berikut beberapa poin penting yang perlu diingat saat membuat aplikasi MVC:
- Perlu Anda ingat bahwa ASP.net MVC bukanlah pengganti aplikasi berbasis formulir web ASP.Net
- Pendekatan pengembangan aplikasi MVC harus diputuskan berdasarkan persyaratan aplikasi dan fitur yang disediakan oleh ASP.net MVC agar sesuai dengan kebutuhan pengembangan spesifik.
- Proses pengembangan aplikasi dengan ASP.NET MVC lebih kompleks dibandingkan dengan aplikasi berbasis formulir web.
- Pemeliharaan aplikasi selalu lebih tinggi dengan pemisahan tugas aplikasi.
37) Apa perbedaan antara Formulir Web dan MVC?
Berikut perbedaan antara Formulir Web dan MVC:
Parameters | Formulir Web | MVC |
---|---|---|
Model | Formulir Web Asp.Net mengikuti model pengembangan berbasis peristiwa. | Asp.Net MVC menggunakan model pengembangan berbasis pola MVC. |
Digunakan Sejak | Sudah ada sejak tahun 2002 | Ini pertama kali dirilis pada tahun 2009 |
Dukungan untuk status Tampilan | Formulir Web Asp.Net mendukung status tampilan untuk manajemen status di sisi klien. | .Net MVC tidak mendukung status tampilan. |
Jenis URL | Formulir Web Asp.Net memiliki URL berbasis file. Artinya nama file ada di URL, dan harus ada secara fisik. | Asp.Net MVC memiliki URL berbasis rute yang berarti URL dialihkan ke pengontrol dan tindakan. |
Sintaksis | Asp.Net MVC mengikuti Sintaks Formulir Web. | Asp.Net MVC mengikuti sintaksis yang dapat disesuaikan. |
Jenis tampilan | Tampilan Formulir Web digabungkan erat dengan Kode di belakang (ASPX-CS), yaitu logika. | Tampilan MVC dan logika selalu disimpan secara terpisah. |
Tampilan dan nuansa yang konsisten | Ini memiliki halaman master untuk tampilan yang konsisten. | Asp.Net MVC memiliki tata letak untuk tampilan yang konsisten. |
Penggunaan Ulang Kode | Formulir Web menawarkan kontrol Pengguna untuk penggunaan kembali kode. | Asp.Net MVC menawarkan tampilan parsial untuk penggunaan kembali kode. |
Kontrol untuk HTML | Less kontrol atas HTML yang dirender. | Kontrol penuh atas HTML |
Manajemen negara | Manajemen kontrol status otomatis. | Manajemen status manual. |
dukungan TDD | Diperlukan TDD yang lemah atau khusus. | Mendorong dan menyertakan TDD! |
38) Bagaimana cara menampilkan sesuatu di CodeIgniter?
Berikut ini kode untuk menampilkan sesuatu di 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) Tulis kode untuk mendemonstrasikan Model, View, dan Controller di CodeIgniter.
Berikut ini kode untuk mendemonstrasikan Model, View, dan Controller di CodeIgniter:
Buka file pengontrol Welcome.php yang terletak di aplikasi/pengontrol:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message'); } }
Perbarui indeks sebagai berikut:
public function index() { $this->load->model('customers_model'); $data['customer'] = $this->customers_model->get_customer(3); $this->load->view('welcome_message',$data); }
Tulis kode berikut di customer_model.php di 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; } }
Buka Welcome_message.php yang terletak di
application/views/welcome_message.php
Ganti kode dengan yang berikut ini
<!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) Bisakah Anda membuat aplikasi web dengan formulir web dan MVC?
Ya. Anda perlu menyertakan referensi assembly MVC di bawah ini dalam aplikasi formulir web untuk membuat aplikasi hybrid.
System.Web.Mvc System.Web.Razor System.ComponentModel.DataAnnotations
41) Bagaimana cara menetapkan nama alias untuk Tindakan API Web ASP.NET?
Kita dapat memberikan nama alias untuk tindakan Web API sama seperti dalam kasus ASP.NET MVC dengan menggunakan atribut “ActionName” sebagai berikut:
[HttpPost] [ActionName("SaveStudentInfo")] public void UpdateStudent(Student aStudent) { StudentRepository.AddStudent(aStudent); }
42) Apa perbedaan utama antara MVC dan WebAPI?
Inilah perbedaan utama antara MVC dan WebAPI:
Framework MVC digunakan untuk mengembangkan aplikasi yang memiliki User Interface. Untuk itu, tampilan dapat digunakan untuk membangun antarmuka pengguna.
WebAPI digunakan untuk mengembangkan layanan HTTP. Aplikasi lain juga bisa disebut metode WebAPI untuk mengambil data tersebut.
43) Bagaimana Anda bisa memastikan bahwa Web API hanya mengembalikan data JSON?
Untuk membuat Web API melakukan serialisasi objek yang dikembalikan ke format JSON dan hanya mengembalikan data JSON. Untuk itu, Anda harus menambahkan kode berikut di kelas WebApiConfig.cs di setiap Proyek 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) Apa perbedaan antara MVVM dan MVC?
Berikut perbedaan penting antara MVVM dan MVC:
MVC | MVVM |
---|---|
Pengontrol adalah titik masuk ke Aplikasi. | Tampilan adalah titik masuk ke Aplikasi. |
Hubungan satu ke banyak antara Pengontrol & Tampilan. | Hubungan satu ke banyak antara Tampilan & Model Tampilan. |
Tampilan tidak memiliki referensi ke Pengontrol | Tampilan memiliki referensi ke Model Tampilan. |
MVC adalah Model Lama | MVVM adalah Model yang relatif Baru. |
Sulit untuk membaca, mengubah, menguji unit, dan menggunakan kembali Model ini | Proses debugging akan menjadi rumit ketika kita memiliki pengikatan data yang kompleks. |
Komponen Model MVC dapat diuji secara terpisah dari pengguna | Mudah untuk pengujian unit terpisah dan kodenya didorong oleh peristiwa. |
45) Apa itu MVC di AngularJS?
Angular.js mengikuti arsitektur MVC, diagram kerangka kerja MVC ditunjukkan di bawah ini.
- Controller mewakili lapisan yang memiliki logika bisnis. Peristiwa pengguna memicu fungsi yang disimpan di dalam pengontrol Anda. Peristiwa pengguna adalah bagian dari pengontrol.
- Tampilan digunakan untuk mewakili lapisan presentasi yang disediakan untuk pengguna akhir.
- Model digunakan untuk merepresentasikan data Anda. Data dalam model Anda dapat sesederhana memiliki deklarasi primitif. Misalnya, jika Anda mengelola aplikasi siswa, model data Anda dapat hanya memiliki id dan nama siswa. Atau dapat juga menjadi rumit dengan memiliki model data terstruktur. Jika Anda mengelola aplikasi kepemilikan mobil, Anda dapat memiliki struktur untuk menentukan kendaraan itu sendiri dalam hal kapasitas mesin, kapasitas tempat duduk, dll.
46) Apa peran MVC di AngularJS?
Berikut ini adalah definisi sederhana cara kerja AngularJS Controller.
- Tanggung jawab utama pengontrol adalah mengontrol data yang diteruskan ke tampilan. Ruang lingkup dan pandangan memiliki komunikasi dua arah.
- Properti tampilan dapat memanggil “fungsi” pada cakupan. Selain itu, peristiwa pada tampilan dapat memanggil “metode” pada cakupan. Cuplikan kode di bawah ini memberikan contoh sederhana dari suatu fungsi.
- Fungsi($scope) yang ditentukan saat mendefinisikan pengontrol dan fungsi internal yang digunakan untuk mengembalikan rangkaian $scope.firstName dan $scope.lastName.
- Di AngularJS ketika Anda mendefinisikan suatu fungsi sebagai variabel, itu dikenal sebagai Metode.
- Data dengan cara ini diteruskan dari pengontrol ke cakupan, lalu data diteruskan bolak-balik dari cakupan ke tampilan.
- Cakupan digunakan untuk mengekspos model ke tampilan. Model dapat dimodifikasi melalui metode yang ditentukan dalam cakupan, yang dapat dipicu melalui kejadian dari tampilan. Kita dapat mendefinisikan pengikatan model dua arah dari ruang lingkup ke model.
- Kontroler sebaiknya tidak digunakan untuk memanipulasi DOM. Hal ini harus dilakukan melalui direktif, yang akan kita lihat nanti.
- Praktik terbaiknya adalah memiliki pengontrol berdasarkan fungsionalitas. Misalnya, jika Anda memiliki formulir untuk masukan dan Anda memerlukan pengontrol untuk itu, buatlah pengontrol yang disebut “pengontrol formulir”.
47) Cara membuat Kontroler dasar di AngularJS
Cuplikan kode di bawah ini adalah halaman HTML sederhana yang memiliki judul “Pendaftaran Acara” dan memiliki referensi ke perpustakaan penting seperti Bootstrap, jquery, dan Sudut.
- Kami menambahkan referensi ke stylesheet CSS bootstrap, yang akan digunakan bersama dengan perpustakaan bootstrap.
- Kami menambahkan referensi ke perpustakaan AngularJS. Jadi sekarang, apapun yang kita lakukan dengan Angular.js kedepannya akan direferensikan dari perpustakaan ini.
- Kami menambahkan referensi ke perpustakaan bootstrap untuk membuat halaman web kami lebih responsif terhadap kontrol tertentu.
- Kami telah menambahkan referensi ke perpustakaan jquery yang akan digunakan untuk manipulasi DOM. Ini diperlukan oleh Angular karena beberapa fungsi di Angular bergantung pada perpustakaan ini.
Secara default, cuplikan kode di atas akan ada di semua contoh sehingga kami hanya dapat menampilkan kode AngularJS spesifik di bagian berikutnya.
Kedua, mari kita lihat file dan struktur file yang akan kita mulai dengan kursus kita:
- Pertama, kami memisahkan file kami ke dalam 2 folder seperti yang dilakukan dengan aplikasi web konvensional. Kami memiliki folder "CSS". Ini akan berisi semua file cascading style sheet kita, dan kemudian kita akan memiliki folder "lib", yang akan memiliki semua file kita. JavaNaskah file.
- File bootstrap.css ditempatkan di folder CSS, dan digunakan untuk menambahkan tampilan dan nuansa yang bagus untuk situs web kita.
- Angular.js adalah file utama kami yang diunduh dari situs AngularJS dan disimpan di folder lib kami.
- File app.js akan berisi kode kami untuk pengontrol.
- File bootstrap.js digunakan untuk melengkapi file bootstrap.cs untuk menambahkan fungsionalitas bootstrap ke aplikasi web kita.
- File jquery akan digunakan untuk menambahkan fungsionalitas manipulasi DOM ke situs kami.
Contoh penggunaan sudut.js:
Yang ingin kami lakukan di sini hanyalah menampilkan kata-kata “AngularJS” dalam format teks dan kotak teks saat halaman dilihat di 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) Apa gunanya ng-controller pada file eksternal di AngularJS
Lakukan langkah-langkah berikut untuk menggunakan ng-controller di File Eksternal di AngularJS
Langkah 1) Di file app.js, tambahkan kode berikut untuk pengontrol Anda
angular.module('app',[]).controller('HelloWorldCtrl',function($scope) { $scope.message = "Hello World" });
Langkah 2) Sekarang, di file Sample.html Anda, tambahkan kelas div yang akan berisi direktif ng-controller dan kemudian tambahkan referensi ke variabel anggota “pesan.”
<!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) Tulis kode untuk mendefinisikan metode di AngularJS Controller?
Berikut adalah kode untuk mendefinisikan metode di 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) Tulis kode menggunakan ng-model untuk menampilkan kontrol input multi-baris di AngularJS.
Berikut adalah kode yang menggunakan ng-model untuk menampilkan kontrol input multi-baris di 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) Tulis kode untuk mendemonstrasikan penggunaan elemen input.
Berikut adalah contoh kode menggunakan elemen 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) Bagaimana cara membuat model di PHP?
Berikut ini kode untuk membuat model di 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) Mengapa menggunakan Kerangka PHP MVC?
Anda harus menggunakan PHP MVC Framework karena menyederhanakan pekerjaan dengan teknologi yang kompleks dengan:
- Menyembunyikan semua detail implementasi yang rumit
- Menyediakan metode standar yang dapat kita gunakan untuk membangun aplikasi kita.
- Peningkatan produktivitas pengembang, hal ini karena aktivitas implementasi dasar seperti menghubungkan ke database, membersihkan input pengguna, dll., sudah dilaksanakan sebagian.
- Kepatuhan terhadap standar pengkodean profesional
54) Apa saja framework PHP MVC yang populer?
Berikut adalah kerangka kerja PHP MVC yang populer:
Penyala Kode: Ini adalah salah satu kerangka kerja PHP MVC paling populer. Ringan dan memiliki kurva belajar yang singkat. Ia memiliki serangkaian perpustakaan yang membantu membangun situs web dan aplikasi dengan cepat. Pengguna dengan pengetahuan terbatas tentang pemrograman OOP juga dapat menggunakannya.
Kohana: Ini adalah Hierarchical Model View Controller HMVC yang merupakan kerangka kerja yang aman dan ringan. Kerangka kerja ini memiliki seperangkat komponen yang lengkap untuk mengembangkan aplikasi dengan cepat.
KuePHP: Bahasa ini dimodelkan berdasarkan Ruby on Rails. Bahasa ini dikenal dengan konsep-konsep seperti pola desain perangkat lunak, konvensi atas konfigurasi, ActiveRecord, dll.
Zend: Ini adalah kerangka kerja yang kuat yaitu;
- Aman, andal, cepat, dan terukur
- Mendukung Web 2.0 dan pembuatan layanan web.
Ini menampilkan API dari vendor seperti Amazon, Google, Flickr, Yahoo, dll. Ini ideal untuk mengembangkan aplikasi bisnis.
55) Bagaimana cara membuat tampilan di PHP?
Berikut ini kode untuk membuat tampilan di 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>
Sekarang mari kita buat halaman hasil result.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>
Pertanyaan wawancara ini juga akan membantu dalam viva Anda (lisan)