Kruchten'in 4+1 mimari görünüm modelinde Mantıksal Görünüm, sistemin işlevselliğini, yani bileşenlerin fonksiyonlarını soyutlanmış olarak (sınıflar, nesneler) ele alır. Fiziksel görünüm donanım dağılımını, süreç görünümü eşzamanlılığı, geliştirme görünümü ise modül düzenini gösterir.
Nesneye Yönelik Programlama 2022 Final
Kaynak: https://lolonolo.com/2023/01/11/nesneye-yonelik-programlama-2022-final-sorulari/
📖 Konu özeti (sınav öncesi tekrar)
Nesneye Yönelik Programlama 2022 Final Soruları
” —– Tasarım Desenlerl, sınıf ve nesnelerin bir araya gelerek daha büyük tasarım oluşturmayı hedefledikleri desenlerdir.” Ifadesinde boş bırakılan yere aşağıdakilerden hangisi gelmelidir?
Yapısal tasarım desenleri, sınıf ve nesnelerin bir araya gelerek daha büyük yapılar oluşturmasını konu alır; Adapter, Bridge, Decorator, Facade, Proxy bu gruptadır. Oluşturucu desenler ise nesne üretimiyle ilgilidir.
UML (Unified Modeling Language, Birleşik Modelleme Dili), yazılımın teknik tasarımını standart diyagramlarla tanımlayan ve proje ekibi içinde ortak bir iletişim aracı olarak kullanılan modelleme dilidir. XML ve HTML ise işaretleme dilleridir.
C# koleksiyonlarında (ör. List) tüm elemanları tek seferde silmek için Clear() metodu kullanılır. Remove yalnızca belirtilen bir elemanı siler, Add ve AddRange ise eleman ekler.
dotnet build komutu mevcut projeyi ve bağımlılıklarını derler. Yeni proje için dotnet new, temizlemek için dotnet clean, bilgi için dotnet --info, yardım için dotnet --help kullanılır.
C#'ta arabirim (interface) üyeleri, onu uygulayan sınıflar tarafından erişilip gerçekleştirilebilmeleri için public olmalıdır; varsayılan olarak da public kabul edilirler. Arabirimi uygulayan sınıf da bu üyeleri public olarak tanımlamalıdır.
Adaptör, Köprü, Vekil ve Cephe yapısal tasarım desenleridir. Fabrika (Factory) ise nesne oluşturma işini üstlenen bir oluşturucu (creational) desendir.
Komut (Command) deseni, bir isteği nesne olarak kapsülleyerek nesneler arası iletişimi düzenler ve davranışsal desenler grubundadır. Vekil ve Cephe yapısal, Fabrika oluşturucu desendir; Arabirim ise bir tasarım deseni değildir.
C# Programlama Dilinde bir sınıftan yeni bir nesne türetmek Istenlyorsa hangi anahtar kellme kullanılır?
C#'ta bir sınıftan nesne oluşturmak için new anahtar kelimesi kullanılır: Ogrenci ogr = new Ogrenci();. class sınıfı tanımlamak, struct yapı tanımlamak için kullanılır.
C#'ta tüm hata sınıflarının temel (genel) sınıfı System.Exception'dır; catch (Exception ex) her türlü hatayı yakalar. DivideByZeroException gibi özel hata sınıfları bu sınıftan türetilmiştir.
C#'ta double 64 bitlik çift duyarlıklı ondalıklı sayı tipidir; 64 bit = 8 byte eder. float ise 4 byte, decimal 16 byte'tır.
Metot tanımında her parametre tip ve adıyla birlikte yazılmalıdır. int topla(int, b) ifadesinde ilk parametrenin adı, ikinci parametrenin tipi eksiktir; doğrusu int topla(int a, int b) olmalıdır. Diğer tanımlar geçerlidir.
Tekil (Singleton), Yapıcı (Builder), Fabrika (Factory) ve Soyut Fabrika (Abstract Factory) nesne oluşturmayla ilgili oluşturucu desenlerdir. Vekil (Proxy) ise yapısal bir tasarım desenidir.
SOLID prensipleri; Tek Sorumluluk, Açık/Kapalı, Liskov İkame, Arabirim Ayırma ve Bağımlılığı Tersine Çevirme prensipleridir. "Kaynak Kod Yönetim Prensibi" bunlardan biri değildir.
Çağrı yığını (stack) için ayrılan bellek alanı dolduğunda, örneğin sonsuz özyinelemeli bir metotta, StackOverflowException oluşur. DivideByZeroException sıfıra bölme, ArithmeticException genel aritmetik hatalar içindir.
|- Sınıflar (class) referans türündedirler
II – Yapılar (struct) değer türündedirler.
III – Sınıf (class) ve yapı (struct) arasında bir fark yoktur.
C# programlama dilinde sınıf (class) ve yapı (struct) lle ilgili yukarıda verllen Ifadelerden hangisi ya da hangileri doğrudur?
C#'ta sınıflar (class) referans tipi, yapılar (struct) ise değer tipidir. Bu yüzden aralarında önemli farklar vardır (bellekte saklanma, kopyalama davranışı, kalıtım); III yanlıştır, I ve II doğrudur.
Tasarım desenleri (Gang of Four) üç ana kategoride toplanır: oluşturucu (creational), yapısal (structural) ve davranışsal (behavioral).
Tek Sorumluluk Prensibi'nin amacı, bir sınıfın yalnızca tek bir sorumluluğu olmasıdır. Böylece sınıfın değişmesi için tek bir neden olur, kod daha anlaşılır ve bakımı kolay hale gelir.
C#'ta arabirim interface anahtar kelimesiyle tanımlanır: interface IHareket { void Git(); }. final Java'ya ait bir anahtar kelimedir, new ise nesne oluşturmak için kullanılır.