En İyi 55 MVC Mülakat Soruları ve Cevapları (PDF)
Yeni Öğrenciler için MVC Mülakat Soruları ve Cevapları
1) Model-Görünüm-Denetleyici nedir?
MVC, yazılım geliştirme için kullanılan bir yazılım mimarisi modelidir.ping Web uygulamalarında, Model, View ve Controller olmak üzere üç nesne tarafından yönetilir.
👉 Ücretsiz PDF İndir: MVC Mülakat Soruları ve Cevapları
2) Model-View-Controller bir MVC uygulamasında neyi temsil eder?
Bir MVC modelinde,
- Model– Uygulama veri alanını temsil eder. Başka bir deyişle, bir uygulamanın iş mantığı modelin içinde yer alır ve verilerin korunmasından sorumludur.
- Görüntüle– Son kullanıcıların iletişim kurduğu kullanıcı arayüzünü temsil eder. Kısacası tüm kullanıcı arayüzü mantığı View içerisinde yer almaktadır.
- kontrolör- Kullanıcının eylemlerine yanıt veren denetleyicidir. Kullanıcı eylemlerine bağlı olarak ilgili denetleyici, model içerisinde yanıt verir ve oluşturulacak kullanıcı arayüzünü görüntüleyen bir görünüm seçer. Kullanıcı giriş mantığı denetleyicinin içinde bulunur.
3) MVC'yi tanımlamak için derlemeye ad verin
MKS MVC Çerçevesi System.Web.Mvc derlemesinde tanımlanır.
4) Bir denetleyici eylem yönteminin farklı dönüş türleri nelerdir?
Bir denetleyici eylem yönteminin farklı dönüş türleri şunlardır:
- Sonucu göster
- JavaKomut Dosyası Sonucu
- Yönlendirme Sonucu
- JSON Sonucu
- İçerik Sonucu
5) Bir web formu uygulamasına rota eklemek ile MVC uygulamasına rota eklemek arasındaki fark nedir?
Bir webform uygulamasına rota eklemek için RouteCollection sınıfının MapPageRoute() yöntemini, MVC uygulamasına rota eklemek için ise MapRoute() yöntemini kullanıyoruz.
6) Bir rotaya kısıtlama eklemenin iki yolu nelerdir?
Bir rotaya kısıtlama eklemenin iki yöntemi şunlardır:
- Normal ifadeler kullanın
- IRouteConstraint Arayüzünü uygulayan bir nesne kullanın
7) MVC'nin avantajları nelerdir?
- MVC projenizi farklı bir segmente ayırır ve geliştiricilerin üzerinde çalışmasını kolaylaştırır
- Projenizin daha az geliştirme ve bakım maliyetine fayda sağlayacak şekilde projenizin bir bölümünü düzenlemek veya değiştirmek kolaydır
- MVC projenizi daha sistematik hale getirir
- İş mantığı ile sunum mantığı arasında açık bir ayrımı temsil eder
- Her MVC nesnesinin farklı sorumlulukları vardır
- Gelişim paralel ilerliyor
- Yönetimi ve bakımı kolay
- Tüm sınıflar ve nesneler birbirinden bağımsızdır
8) Controller'da “beforeFilter()”,”beforeRender” ve “afterFilter” fonksiyonları ne işe yarar?
- beforeFilter(): Bu işlev denetleyicideki her eylemden önce çalışır. Aktif bir oturumu kontrol etmek veya kullanıcı izinlerini incelemek için doğru yerdir.
- render'dan önce(): Bu işlev, denetleyici eylem mantığından sonra, ancak görünüm oluşturulmadan önce çağrılır. Bu işlev sıklıkla kullanılmaz ancak belirli bir eylemin bitiminden önce render() işlevini manuel olarak çağırıyorsanız gerekli olabilir.
- afterFilter(): Bu işlev, her denetleyici eyleminden sonra ve oluşturma tamamlandıktan sonra çağrılır. Çalıştırılacak son denetleyici yöntemidir.
9) Sunum ve Mutlak Değerlerin Bileşenlerdeki Rolü Nedir?tracMVC'de Yönetim ve Kontrol?
Burada bileşenlerin rolü Sunum, ÖzettracMVC'de Yönetim ve Kontrol:
- Sunum: Bu, belirli bir karın kasının görsel temsilidir.tracuygulama içindeki tion
- Abstraction: Uygulama içindeki iş alanı işlevselliğidir
- Kontrol: Karın kasları arasındaki tutarlılığı sağlayan bir bileşendir.tracSistem içindeki işlevlerin ve bunların kullanıcıya sunulmasının yanı sıra sistem içindeki diğer kontrollerle iletişim kurması.
10) MVC modelinin dezavantajları nelerdir?
MVC modelinin bazı önemli dezavantajları şunlardır:
- Model kalıbı biraz karmaşık.
- Görünümde veri erişiminin verimsizliği.
- Modern bir kullanıcı arayüzü ile MVC'yi kullanmak zordur.
- Paralel geliştirme için birden fazla programcıya ihtiyacınız var.
- Çoklu teknoloji bilgisi gereklidir.
11) “ActionFilters”ın MVC'deki rolü nedir?
MVC'de “ActionFilters”, MVC eylemi yürütülürken veya yürütülürken mantığı yürütmenize yardımcı olur.
12) Bir MVC projesinin yürütülmesine ilişkin adımlar nelerdir?
Bir MVC projesinin yürütülmesine yönelik adımlar şunları içerir:
- Başvuru için ilk isteği alın
- Yönlendirmeyi gerçekleştir
- MVC istek işleyicisi oluşturma
- Denetleyici Oluştur
- Denetleyiciyi Çalıştır
- Eylemi çağır
- Sonucu Yürüt
13) Yönlendirme ve üç bölüm nedir?
Rota belirleme, karar vermenize yardımcı olur. URL yapı ve harita URL Kontrol ünitesiyle birlikte.
Yönlendirme için önemli olan üç bölüm şunlardır:
- DenetleyiciAdı
- EylemYöntemAdı
- Parametre
14) MVC modelinde yönlendirme nasıl yapılır?
Uygulamada kayıtlı rotalardan oluşan RouteCollection adlı bir rota grubu bulunmaktadır. RegisterRoutes metodu, rotaları bu koleksiyona kaydeder. Bir rota, bir URL İstek bu kalıpla eşleşirse kullanılacak bir kalıp ve işleyici.
MapRoute metodunun ilk parametresi rotanın adıdır. İkinci parametre ise rotanın izleneceği kalıptır. URL eşleşmeler. Üçüncü parametre, belirlenmemişlerse yer tutucular için varsayılan değerler olabilir.
15) Köprü kullanarak bir görünümden diğerine nasıl gezinebilirsiniz?
Aşağıdaki kodda gösterildiği gibi "ActionLink" yöntemini kullanarak, aşağıdaki kod basit bir işlem oluşturacaktır. URL Bu, "Ana Sayfa" kontrolcüsüne gitmeye ve "Ana Sayfaya Git" eylemini çağırmaya yardımcı olur.
Daralt / Kopyala Code
<%= Html.ActionLink("Home", "Gotohome") %>
Deneyimlilere Yönelik MVC Mülakat Soruları ve Cevapları
16) MVC'de oturumlar nasıl sürdürülür?
Oturumlar MVC'de üç şekilde muhafaza edilebilir: tempdata, viewdata ve viewbag.
17) Sıcaklık verileri, Verileri görüntüle ve Çantayı Görüntüle arasındaki fark nedir?
- Sıcaklık verileri: Bir denetleyiciden başka bir denetleyiciye geçtiğinizde verilerin korunmasına yardımcı olur.
- Veriyi gör: Denetleyiciden görünüme geçtiğinizde verilerin korunmasına yardımcı olur.
- Çantayı Görüntüle: Görünüm verilerini çevreleyen dinamik bir sarmalayıcıdır.
18) MVC'de kısmi görünüm nedir?
MVC'deki kısmi görünüm, görünüm içeriğinin bir bölümünü oluşturur. Kod tekrarını azaltmada faydalıdır. Basit bir ifadeyle kısmi görünüm, ana görünüm içerisinde bir görünümün oluşturulmasına olanak tanır.
19) Ajax'ı MVC'ye nasıl uygulayabilirsiniz?
MVC'de Ajax iki şekilde uygulanabilir
- Ajax kütüphaneleri
- jQuery
20) “ActionResult” ile “ViewResult” arasındaki fark nedir?
“ActionResult” bir abs'dir.trac“ViewResult” ise “Abs” sınıfından türetilmiştir.trac“ActionResult” sınıfı, “JsonResult”, “FileStreamResult” ve “ViewResult” gibi türetilmiş birçok sınıfa sahiptir.
Dinamik olarak farklı türde görünümler elde ediyorsanız "ActionResult" en iyisidir.
21) Sonucu MVC'de JSON formatında nasıl geri gönderebilirsiniz?
Sonucu MVC'de JSON formatında geri göndermek için “JSONRESULT” sınıfını kullanabilirsiniz.
22) Görünüm ve Kısmi Görünüm arasındaki fark nedir?
İşte Görünüm ve Kısmi Görünüm arasındaki fark
| Görüntüle | Kısmi görüntü |
|---|---|
| Düzen sayfasını içerir | Düzen sayfasını içermiyor |
| Herhangi bir görünüm oluşturulmadan önce görünüm başlangıç sayfası oluşturulur | Kısmi görünüm viewstart.cshtml için doğrulama yapmaz. ViewStart.cshtml.page içine kısmi görünüm için ortak kod koyamıyoruz |
| Görünümde body, html, head, title, meta vb. gibi işaretleme etiketleri bulunabilir. | Kısmi görünüm, görünüm içinde oluşturulacak şekilde özel olarak tasarlanmıştır ve bu nedenle herhangi bir işaretleme içermez |
| Görünüm, Kısmi Görünüm ile karşılaştırıldığında hafif değildir | RenderPartial yöntemine normal bir görünüm aktarabiliriz |
23) MVC'deki sonuç türleri nelerdir?
MVC'de, "ActionResult" sınıfının ana sınıf, 11'inin ise alt türleri olduğu on iki tür sonuç vardır:
- Sonucu göster
- Kısmi Görünüm Sonucu
- BoşSonuç
- Yönlendirme Sonucu
- Rota Sonucuna Yönlendir
- JsonSonucu
- JavaKomut DosyasıSonucu
- İçerikSonucu
- DosyaİçeriğiSonucu
- Dosya Akışı Sonucu
- DosyaYoluSonucu
24) NonActionAttribute'un önemi nedir?
Bir denetleyici sınıfının tüm ortak yöntemleri, bu varsayılan yöntemi önlemek istiyorsanız eylem yöntemi olarak kabul edilir, bu durumda ortak yöntemi NonActionAttribute ile atamanız gerekir.
25) Varsayılan {resource}.axd/{*pathinfo} rotasının kullanımı nedir?
Varsayılan rota, Webresource.axd veya ScriptResource.axd gibi bir web kaynağı dosyasına yönelik isteklerin denetleyiciye iletilmesini engeller.
26) Eğer birden fazla filtre uygulanırsa, çalıştırılacak filtrelerin sırası nedir?
Filtre sırası şöyle olacaktır:
- Yetkilendirme filtreleri
- Eylem filtreleri
- Yanıt filtreleri
- İstisna filtreleri
27) Sonunda hangi ASP.NET filtreleri yürütülür?
Sonunda “İstisna Filtreleri” yürütülür.
28) Razor görünümleri için dosya uzantıları nelerdir?
Razor görünümleri için dosya uzantıları
- .cshtml: Programlama dili C# ise
- .vbhtml: VB programlama dili ise
29) Bir rotaya kısıtlama eklemenin iki yolu nelerdir?
Rotaya kısıtlama eklemenin iki yöntemi şunlardır:
- Normal ifadeleri kullanma
- IRouteConstraint arayüzünü uygulayan bir nesne kullanma
30) Yönlendirmenin uygulanmadığı veya gerekli olmadığı iki durum nedir?
Yönlendirmenin gerekli olmadığı iki örnek:
- Fiziksel bir dosya bulunduğunda ve bu dosya aşağıdaki özelliklerle eşleştiğinde URL model
- Yönlendirme devre dışı bırakıldığında URL model
5 Yıllık Deneyim için MVC Mülakat Soruları
31) MVC'nin özellikleri nelerdir?
MVC'nin özellikleri şunlardır:
- Kolay ve sürtünmesiz test edilebilirlik. Son derece test edilebilir, genişletilebilir ve takılabilir çerçeve.
- HTML'nizin yanı sıra diğer bileşenleriniz üzerinde de tam kontrol sağlar. URLs
- ASP.NET, JSP, Django vb. tarafından sağlanan mevcut özelliklerden yararlanır.
- Mantığın açık bir şekilde ayrılması: Model, Görünüm, Denetleyici. Uygulama görevlerinin iş mantığı, Ul mantığı ve giriş mantığı aracılığıyla ayrılması.
- URL SEO Dostu Yönlendirme URLs. Güçlü URL- haritaping anlaşılabilir ve aranabilir için URLs.
- Test Odaklı Geliştirme (TDD) Desteği.
32) MVC'nin gerçek hayattaki örnekleri nelerdir?
İşte gerçek hayattan bir MVC örneği:
- Bir restorana gittiğinizi varsayalım. Evinizde mutlaka yapabileceğiniz yemekleri mutfağa gidip hazırlamayacaksınız. Bunun yerine oraya gidin ve garsonun gelmesini bekleyin.
- Şimdi garson yanınıza geliyor ve siz sadece yemeği sipariş ediyorsunuz. Garson sizin kim olduğunuzu ve ne istediğinizi bilmiyor, sadece yemek siparişinizin detaylarını yazmış.
- Daha sonra garson mutfağa gider. Mutfakta garson yemeğinizi hazırlamıyor.
- Aşçı yemeğinizi hazırlar. Garsona masa numaranızla birlikte siparişiniz verilir.
- Daha sonra aşçı sizin için yemek hazırlar. Yemeği pişirmek için malzemeler kullanır. Sebzeli sandviç sipariş ettiğinizi varsayalım. Daha sonra buzdolabından aldığı ekmek, domates, patates, kapya biber, soğan, lokma, peynir vb.'ye ihtiyaç duyar.
- Cook sonunda yemeği garsona teslim eder. Artık bu yemeği mutfağın dışına taşımak garsonun görevi.
- Artık garson hangi yemeği sipariş ettiğinizi ve nasıl servis edildiğini biliyor.
Bu durumda,
View= You Waiter= Controller Cook= Model Refrigerator= Data
33) 3 katmanlı arasındaki fark nedir? Archidoku ve MVC Archidoku?
İşte 3 katmanlı arasındaki fark Archidoku ve MVC Archidoku:
| Parametre | 3 Katmanlı Archidoku | MVC Archidoku |
|---|---|---|
| Yakın İletişim | Bu tip mimari desenler hiçbir zaman veri katmanıyla doğrudan iletişim kurmaz. | Tüm katmanlar üçgen topolojisini kullanarak doğrudan iletişim kurar. |
| kullanım | 3 katmanlı: istemcinin, veri katmanlarının ve ara yazılımın fiziksel olarak ayrı platformlarda çalıştığı web uygulamalarında yaygın olarak kullanılır. | Genellikle tek bir grafik iş istasyonunda çalışan uygulamalarda kullanılır. |
34) MVC mimarisini JSP'de nasıl kullanabilirsiniz?
Aşağıdaki örnek, MVC mimarisinin JSP'de kullanımını göstermektedir:
- İki değişkeni olan bir form örneğini ele alalım; "email" ve "password" bizim görünüm katmanımız.
- Kullanıcı e-posta ve şifresini girip gönder butonuna tıkladığında, e-posta ve şifrenin geçirildiği mvc_servlet'e işlem geçirilir.
- Bu mvc_servlet denetleyici katmanıdır. Burada mvc_servlet'te istek, model katmanı görevi gören fasulye nesnesine gönderilir.
- E-posta ve şifre değerleri bean'e girilir ve ileride kullanılmak üzere saklanır.
- Fasulyeden değer alınır ve görünüm katmanında gösterilir.
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) İlkbaharda MVC nasıl çalışır?
MVC İlkbaharda şu şekilde çalışır:
- DispatcherServlet bir istek alır.
- Bundan sonra, DispatcherServlet, HandlerMap ile iletişim kurar.pingAynı zamanda bu özel istekle ilişkili denetleyiciyi de iptal eder.
- Denetleyici bu isteği hizmet yöntemlerini çağırarak işler ve DispatcherServlet tarafından bir ModelAndView nesnesi döndürülür.
- Görünüm adı, çağrılacak gerçek Görünümü bulmak için ViewResolver'a gönderilir.
- Bundan sonra DispatcherServlet, sonucu oluşturmak için View'a iletilir.
- Görünüm, model verilerini kullanarak sonucu oluşturur ve kullanıcıya geri gönderir.
36) MVC uygulaması oluştururken dikkat edilmesi gereken önemli noktalar nelerdir?
MVC uygulaması oluştururken hatırlamanız gereken bazı önemli noktalar şunlardır:
- ASP.net MVC'nin, ASP.Net web form tabanlı uygulamaların yerine geçmediğini hatırlamanız gerekir.
- MVC uygulama geliştirme yaklaşımına, belirli geliştirme ihtiyaçlarına uyacak şekilde ASP.net MVC tarafından sağlanan uygulama gereksinimlerine ve özelliklere göre karar verilmelidir.
- ASP.NET MVC ile uygulama geliştirme süreci, web form tabanlı uygulamalara kıyasla daha karmaşıktır.
- Uygulama görevlerinin ayrılmasıyla uygulamanın sürdürülebilirliği her zaman daha yüksektir.
37) Web Formları ile MVC arasındaki fark nedir?
Web Formları ile MVC arasındaki fark şudur:
| Parametreler | Web Formları | MVC |
|---|---|---|
| Model | Asp.Net Web Formları olay odaklı geliştirme modelini takip eder. | Asp.Net MVC, MVC desen tabanlı geliştirme modelini kullanır. |
| Şu tarihten beri kullanılıyor: | 2002'den beri buralardayım | İlk olarak 2009'da yayınlandı |
| Görünüm durumu desteği | Asp.Net Web Forms, istemci tarafında durum yönetimi için görünüm durumunu destekler. | .Net MVC görüntüleme durumunu desteklemez. |
| URL tip | Asp.Net Web Forms dosya tabanlıdır. URLs. Bu, dosya adının mevcut olduğu anlamına gelir. URLve fiziksel olarak var olmaları gerekir. | Asp.Net MVC, rota tabanlıdır. URLBu şu anlama geliyor: URLs'ler denetleyicilere ve eylemlere yönlendirilir. |
| Sözdizimi | Asp.Net MVC, Web Formları Söz Dizimini takip eder. | Asp.Net MVC özelleştirilebilir söz dizimini takip eder. |
| Görünüm türü | Web Form görünümleri birbirine sıkı sıkıya bağlıdır. Code (ASPX-CS) arkasında, yani mantık. | MVC Görünümleri ve mantığı her zaman ayrı tutulur. |
| Tutarlı görünüm ve his | Tutarlı bir görünüm için ana sayfalara sahiptir. | Asp.Net MVC'nin tutarlı bir görünüm için düzenleri vardır. |
| Code Reus yeteneği | Web Forms, kodun yeniden kullanılabilirliği için Kullanıcı denetimleri sunar. | Asp.Net MVC, kodun yeniden kullanılabilirliği için kısmi görünümler sunar. |
| HTML kontrolü | Less oluşturulan HTML üzerinde kontrol. | HTML üzerinde tam kontrol |
| Durum Yönetimi | Kontrollerin otomatik durum yönetimi. | Manuel durum yönetimi. |
| TDD desteği | Zayıf veya özel TDD gereklidir. | TDD'yi teşvik eder ve içerir! |
38) Bir şeyi nasıl görüntüleyebilirsiniz? CodeAteşleyici mi?
İşte bir şeyi görüntülemek için kullanılan kod. Codeateşleyici:
<?=$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) Model, View ve Controller'ı göstermek için bir kod yazın. CodeAteşleyici.
İşte Model, View ve Controller'ı gösteren bir kod örneği. Codeateşleyici:
Welcome.php denetleyicisinin bulunduğu uygulama/kontrolörler dosyasını açın:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index()
{
$this->load->view('welcome_message');
}
}
Dizini şu şekilde güncelleyin:
public function index()
{
$this->load->model('customers_model');
$data['customer'] = $this->customers_model->get_customer(3);
$this->load->view('welcome_message',$data);
}
application/models içindeki customer_model.php dosyasına aşağıdaki kodu yazın.
<?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;
}
}
Bulunduğunuz yerde bulunanwelcome_message.php dosyasını açın
application/views/welcome_message.php
Kodu aşağıdakiyle değiştirin
<!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) Hem web formları hem de MVC ile web uygulaması oluşturabilir misiniz?
Evet. Hibrit bir uygulama oluşturmak için web formları uygulamasına aşağıdaki MVC derleme referanslarını eklemeniz gerekir.
System.Web.Mvc System.Web.Razor System.ComponentModel.DataAnnotations
41) ASP.NET Web API Eylemi için nasıl takma ad atayabilirsiniz?
Web API eylemi için ASP.NET MVC'de olduğu gibi “ActionName” özelliğini kullanarak takma ad verebiliriz:
[HttpPost]
[ActionName("SaveStudentInfo")]
public void UpdateStudent(Student aStudent)
{
StudentRepository.AddStudent(aStudent);
}
42) MVC ile WebAPI arasındaki temel fark nedir?
MVC ve WebAPI arasındaki temel fark şudur:
MVC çerçevesi geliştirme için kullanılır.ping Kullanıcı arayüzüne sahip uygulamalar için, kullanıcı arayüzü oluşturmak amacıyla görünümler (views) kullanılabilir.
WebAPI geliştirme için kullanılır.ping HTTP servisleri. Diğer uygulamalar da bu verileri almak için WebAPI yöntemlerini kullanabilir.
43) Web API'nin yalnızca JSON verilerini döndürdüğünden nasıl emin olabilirsiniz?
Web API'nin dönen nesneyi JSON biçimine serileştirmesini ve yalnızca JSON verilerini döndürmesini sağlamak için, herhangi bir MVC Web API Projesindeki WebApiConfig.cs sınıfına aşağıdaki kodu eklemelisiniz:
//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) MVVM ve MVC arasındaki fark nedir?
MVVM ve MVC arasındaki önemli farklar şunlardır:
| MVC | OGVM |
|---|---|
| Denetleyici, Uygulamaya giriş noktasıdır. | Görünüm, Uygulamaya giriş noktasıdır. |
| Denetleyici ve Görünüm arasındaki bire birçok ilişki. | Modeli Görüntüle ve Modeli Görüntüle arasındaki bire birçok ilişki. |
| Görünümün Denetleyiciye referansı yok | Görünümün Görünüm Modeline referansları vardır. |
| MVC Eski Modeldir | MVVM nispeten Yeni bir Modeldir. |
| Bu Modeli okumak, değiştirmek, birim testine tabi tutmak ve yeniden kullanmak zor | Karmaşık veri bağlamaları olduğunda hata ayıklama süreci karmaşıklaşacaktır. |
| MVC Model bileşeni kullanıcıdan ayrı olarak test edilebilir | Ayrı birim testleri için kolaydır ve kod olaya dayalıdır. |
45) AngularJS'de MVC nedir?
Angular.js MVC mimarisini takip eder, MVC çerçevesinin diyagramı aşağıda gösterilmiştir.
- Denetleyici iş mantığına sahip katmanı temsil eder. Kullanıcı olayları, denetleyicinizin içinde depolanan işlevleri tetikler. Kullanıcı olayları denetleyicinin bir parçasıdır.
- Görünümler, son kullanıcılara sunulan sunum katmanını temsil etmek için kullanılır.
- Modeller verilerinizi temsil etmek için kullanılır. Modelinizdeki veriler yalnızca ilkel bildirimlere sahip olmak kadar basit olabilir. Örneğin, bir öğrenci uygulaması sürdürüyorsanız, veri modeliniz yalnızca bir öğrenci kimliği ve bir ada sahip olabilir. Veya yapılandırılmış bir veri modeline sahip olarak karmaşık da olabilir. Bir araba sahipliği uygulaması sürdürüyorsanız, aracın kendisini motor kapasitesi, oturma kapasitesi vb. açısından tanımlamak için yapılara sahip olabilirsiniz.
46) AngularJS'de MVC'nin rolü nedir?
Aşağıda AngularJS Controller'ın çalışma prensibinin basit bir tanımı yer almaktadır.
- Denetleyicinin birincil sorumluluğu görünüme iletilen verileri kontrol etmektir. Kapsam ve görünüm iki yönlü iletişime sahiptir.
- Görünümün özellikleri kapsamdaki "işlevleri" çağırabilir. Ayrıca görünümdeki olaylar kapsamdaki “yöntemleri” çağırabilir. Aşağıdaki kod parçacığı bir fonksiyonun basit bir örneğini vermektedir.
- Denetleyiciyi tanımlarken tanımlanan işlev($kapsam) ve $scope.firstName ve $scope.lastName öğelerinin birleşimini döndürmek için kullanılan dahili işlev.
- AngularJS'de bir işlevi değişken olarak tanımladığınızda buna Yöntem denir.
- Bu şekilde veriler denetleyiciden kapsama aktarılır ve ardından veriler kapsamdan görünüme aktarılır.
- Kapsam, modeli görünüme göstermek için kullanılır. Model, kapsamda tanımlanan ve görünümdeki olaylar yoluyla tetiklenebilecek yöntemler aracılığıyla değiştirilebilir. Kapsamdan modele iki yönlü model bağlamayı tanımlayabiliriz.
- Denetleyiciler ideal olarak DOM'u manipüle etmek için kullanılmamalıdır. Bu, daha sonra göreceğimiz yönergeler tarafından yapılmalıdır.
- En iyi uygulama, işlevselliğe dayalı denetleyicilere sahip olmaktır. Örneğin, giriş için bir formunuz varsa ve bunun için bir denetleyiciye ihtiyacınız varsa, "form denetleyicisi" adı verilen bir denetleyici oluşturun.
47) AngularJS'de temel bir Denetleyici nasıl oluşturulur?
Aşağıdaki kod parçacığı, “Etkinlik Kaydı” başlığını taşıyan ve önemli kütüphanelere referanslar içeren basit bir HTML sayfasıdır. Bootstrap, jquery ve Angular.
- Bootstrap kütüphaneleriyle birlikte kullanılacak olan bootstrap CSS stil sayfalarına referanslar ekliyoruz.
- AngularJS kütüphanelerine referanslar ekliyoruz. Artık angular.js ile bundan sonra ne yaparsak yapalım, bu kütüphaneden referans alınacaktır.
- Web sayfamızı belirli kontrollere daha duyarlı hale getirmek için önyükleme kitaplığına referanslar ekliyoruz.
- DOM manipülasyonu için kullanılacak jquery kitaplıklarına referanslar ekledik. Bu, Angular için gereklidir çünkü Angular'daki bazı işlevler bu kitaplığa bağımlıdır.
Varsayılan olarak yukarıdaki kod parçacığı tüm örneklerimizde mevcut olacaktır, böylece sonraki bölümlerde yalnızca belirli angularJS kodunu gösterebilelim.
İkinci olarak dersimize başlayacağımız dosyalarımıza ve dosya yapımıza bakalım:
- Öncelikle herhangi bir geleneksel web uygulamasında yapıldığı gibi dosyalarımızı 2 klasöre ayırıyoruz. “CSS” klasörümüz var. Tüm basamaklı stil sayfası dosyalarımızı içerecek ve ardından tüm dosyalarımızı içeren “lib” klasörümüze sahip olacağız. JavaSenaryo dosyaları.
- Bootstrap.css dosyası CSS klasörüne yerleştirilir ve web sitemize iyi bir görünüm ve his kazandırmak için kullanılır.
- angular.js, angularJS sitesinden indirilen ve lib klasörümüzde saklanan ana dosyamızdır.
- App.js dosyası denetleyicilere yönelik kodumuzu içerecektir.
- Bootstrap.js dosyası, web uygulamamıza bootstrap işlevselliği eklemek amacıyla bootstrap.cs dosyasını desteklemek için kullanılır.
- Jquery dosyası sitemize DOM manipülasyon işlevselliği eklemek için kullanılacaktır.
angular.js kullanma örneği:
Burada yapmak istediğimiz şey, sayfa tarayıcıda görüntülendiğinde "AngularJS" kelimelerini hem metin formatında hem de metin kutusu içerisinde göstermektir.
<!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) AngularJS'deki harici dosyalarda ng-controller'ın kullanımı nedir?
AngularJS'de Harici Dosyalarda ng-controller'ı kullanmak için aşağıdaki adımları uygulayın
) 1 Adım app.js dosyasına, denetleyiciniz için aşağıdaki kodu ekleyin
angular.module('app',[]).controller('HelloWorldCtrl',function($scope)
{
$scope.message = "Hello World"
});
) 2 Adım Şimdi Sample.html dosyanıza ng-controller direktifini içerecek bir div sınıfı ekleyin ve ardından "message" üye değişkenine bir referans ekleyin.
<!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) AngularJS Controller'da yöntemleri tanımlamak için kod yazınız mı?
AngularJS Controller'da yöntemleri tanımlamak için bir kod:
<!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) AngularJS'de çok hatlı giriş kontrolünü görüntülemek için ng-modelini kullanarak kod yazın.
AngularJS'de çok satırlı giriş kontrolünü görüntülemek için ng-modelini kullanan bir kod:
<!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) Giriş elemanlarının kullanımını gösterecek kodu yazın.
AngulaJS giriş öğelerini kullanan bir kod örneği:
<!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) PHP'de nasıl model oluşturabilirsiniz?
İşte PHP'de model oluşturmak için bir kod:
<?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) Neden PHP MVC Çerçevesini kullanmalısınız?
Karmaşık teknolojilerle çalışmayı kolaylaştırdığı için PHP MVC Framework'ü kullanmalısınız:
- Tüm karmaşık uygulama ayrıntılarını gizleme
- Uygulamalarımızı oluşturmak için kullanabileceğimiz standart yöntemler sağlamak.
- Geliştirici üretkenliğinin artması; bunun nedeni, veritabanına bağlanma, kullanıcı girişinin temizlenmesi vb. etkinliklerin temel uygulamasının zaten kısmen uygulanmış olmasıdır.
- Profesyonel kodlama standartlarına bağlılık
54) Popüler PHP MVC çerçeveleri nelerdir?
İşte popüler PHP MVC çerçeveleri:
Codeateşleyici: En popüler PHP MVC çerçevelerinden biridir. Hafiftir ve kısa bir öğrenme eğrisine sahiptir. Web sitelerini ve uygulamaları hızlı bir şekilde oluşturmaya yardımcı olan zengin bir kitaplık kümesine sahiptir. OOP programlama konusunda sınırlı bilgisi olan kullanıcılar da bunu kullanabilir.
Kohana: Hiyerarşik Model Görünüm Kontrolcüsü (HMVC) mimarisine sahip, güvenli ve hafif bir çerçevedir. Geliştirme için zengin bir bileşen setine sahiptir.ping başvuruları hızla.
KekPHP'si: Ruby on Rails'den sonra modellenmiştir. Yazılım tasarım kalıpları, yapılandırma üzerindeki gelenek, ActiveRecord vb. gibi kavramlarla bilinir.
: Bu güçlü bir çerçevedir;
- Güvenli, güvenilir, hızlı ve ölçeklenebilir
- Web 2.0'ı ve web hizmetlerinin oluşturulmasını destekler.
Gibi satıcıların API'lerini içerir Amazon, Google, FlickrYahoo, vb. Geliştirme için idealdir.ping iş uygulamaları.
55) PHP'de görünümleri nasıl oluşturabilirsiniz?
İşte PHP'de görünümler oluşturmak için bir kod:
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>
Şimdi results.php sonuç sayfasını oluşturalım
<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>
Bu mülakat soruları aynı zamanda yaşamınızda da yardımcı olacaktır.







