En İyi 55 MVC Mülakat Soruları ve Cevapları (PDF)

İşte hem yeni hem de deneyimli adayların hayallerindeki işi bulmaları için MVC mülakat soruları.

 

Yeni Öğrenciler için MVC Mülakat Soruları ve Cevapları

1) Model-Görünüm-Denetleyici nedir?

MVC, web uygulamaları geliştirmek için bir yazılım mimarisi desenidir. Model, View ve Controller olmak üzere üç nesne tarafından işlenir.

👉 Ü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

The 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) MVC'de Sunum, Soyutlama ve Kontrol bileşenlerinin rolü nedir?

MVC'de Sunum, Soyutlama ve Kontrol bileşenlerinin rolü şöyledir:

  • Sunum: Uygulama içindeki belirli bir soyutlamanın görsel temsilidir.
  • Soyutlama: Uygulama içindeki iş alanı işlevselliğidir
  • Kontrol: Sistem içindeki diğer kontrollerle iletişim kurmanın yanı sıra, sistem içindeki soyutlama ile bunların kullanıcıya sunumu arasındaki tutarlılığı sağlayan bir bileşendir.

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?

Yönlendirme, bir URL yapısına karar vermenize ve URL'yi Denetleyiciyle eşleştirmenize yardımcı olur.

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 adı verilen bir grup rota bulunmaktadır. RegisterRoutes yöntemi bu koleksiyondaki rotaları kaydeder. Rota, isteğin kalıpla eşleşmesi durumunda kullanılacak bir URL modelini ve bir işleyiciyi tanımlar.

MapRoute yönteminin ilk parametresi rotanın adıdır. İkinci parametre, URL'nin eşleştiği kalıp olacaktır. Üçüncü parametre ise yer tutucuların belirlenmediği durumlarda varsayılan değerleri 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, "Ana Sayfa" denetleyicisine gitmeye ve "GotoHome" eylemini çağırmaya yardımcı olan basit bir URL oluşturacaktır.

Kodu Daralt / Kopyala

<%= 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” soyut bir sınıftır, “ViewResult” ise “AbstractResult” sınıfından türetilmiştir. “ActionResult”, “JsonResult”, “FileStreamResult” ve “ViewResult” gibi bir dizi türetilmiş 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:

  • URL modeliyle eşleşen fiziksel bir dosya bulunduğunda
  • Bir URL modeli için yönlendirme devre dışı bırakıldığında

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.
  • URL'lerinizin yanı sıra HTML'niz üzerinde de tam kontrol sunar
  • 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ı.
  • SEO Dostu URL'ler için URL Yönlendirme. Anlaşılabilir ve aranabilir URL'ler için güçlü URL eşleme.
  • 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, HandlerMapping ile iletişim kurar. Ayrıca söz konusu 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 türü Asp.Net Web Forms'un dosya tabanlı URL'leri vardır. Bu, URL'lerde dosya adının mevcut olduğu ve fiziksel olarak var olmaları gerektiği anlamına gelir. Asp.Net MVC'nin rota tabanlı URL'leri vardır; bu, URL'lerin denetleyicilere ve eylemlere yönlendirildiği anlamına gelir.
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 Forms görünümleri arkasındaki Kod'a (ASPX-CS), yani mantığa sıkı sıkıya bağlıdır. 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.
Kod Yeniden Kullanılabilirliğ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) CodeIgniter'da bir şeyi nasıl görüntüleyebilirsiniz?

CodeIgniter'da bir şeyi görüntülemek için bir kod:

<?=$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) CodeIgniter'da Model, Görünüm ve Denetleyiciyi göstermek için bir kod yazın.

CodeIgniter'da Model, Görünüm ve Denetleyiciyi gösteren bir kod:

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, Kullanıcı Arayüzüne sahip uygulamalar geliştirmek için kullanılır. Bunun için görünümler bir kullanıcı arayüzü oluşturmak için kullanılabilir.

WebAPI, HTTP hizmetlerini geliştirmek için kullanılır. Diğer uygulamalara bu verileri getirmek için WebAPI yöntemleri de denilebilir.


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.

  1. Bootstrap kütüphaneleriyle birlikte kullanılacak olan bootstrap CSS stil sayfalarına referanslar ekliyoruz.
  2. 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.
  3. Web sayfamızı belirli kontrollere daha duyarlı hale getirmek için önyükleme kitaplığına referanslar ekliyoruz.
  4. 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:

  1. Ö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ı.
  2. 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.
  3. angular.js, angularJS sitesinden indirilen ve lib klasörümüzde saklanan ana dosyamızdır.
  4. App.js dosyası denetleyicilere yönelik kodumuzu içerecektir.
  5. Bootstrap.js dosyası, web uygulamamıza bootstrap işlevselliği eklemek amacıyla bootstrap.cs dosyasını desteklemek için kullanılır.
  6. 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>
        &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) 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>
        &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) 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:

CodeIgniter: 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: Güvenli ve hafif bir framework olan Hiyerarşik Model Görünüm Denetleyicisi HMVC'dir. Uygulamaları hızla geliştirmek için zengin bir bileşen setine sahiptir.

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 AmazonGoogle Flickr, Yahoo vb. İş uygulamaları geliştirmek için idealdir.


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.