Skip to content

1. Giriş

Bu belgenin PDF dosyası, |BURADA| adresinde mevcuttur.

Bu belgedeki örnekler |BURADA| adresinde mevcuttur.

Bir kullanıcının, bir belediyenin "Maison de la petite enfance" derneğine bağlı çocuk bakıcılarının maaş hesaplamalarını simüle etmesine olanak tanıyan bir .NET uygulaması yazmak istiyoruz. Uygulamanın kodunun kendisiyle olduğu kadar, kodun DotNet organizasyonuna da odaklanacağız.

[SimuPaie] adını vereceğimiz nihai uygulama, aşağıdaki üç katmanlı yapıya sahip olacaktır:

  • [1-dao] katmanı (dao=Data Access Object), verilere erişimden sorumlu olacaktır. Veriler bir veritabanına yerleştirilecektir.
  • [2-métier] katmanı, uygulamanın iş mantığı olan maaş hesaplamasından sorumlu olacaktır.
  • [3-ui] katmanı (ui=Kullanıcı Arayüzü), verilerin kullanıcıya sunulmasından ve kullanıcının isteklerinin yerine getirilmesinden sorumlu olacaktır. Bu işlevi sağlayan modüllerin tamamına [Application] adını veriyoruz. Bu katman, kullanıcıyla etkileşim kuran unsurdur.
  • Üç katman, .NET arayüzlerinin kullanılmasıyla birbirinden bağımsız hale getirilecektir.
  • Farklı katmanların entegrasyonu Spring IoC ile gerçekleştirilecektir

Bir müşteri talebinin işlenmesi aşağıdaki adımlara göre gerçekleşir:

  1. Müşteri, uygulamaya bir talep gönderir.
  2. Uygulama bu talebi işler. Bunu yapmak için, [métier] katmanının yardımına ihtiyaç duyabilir; veritabanıyla veri alışverişi yapılması gerekiyorsa, bu katman da [dao] katmanına ihtiyaç duyabilir. Uygulama, [métier] katmanından bir yanıt alır.
  3. Bu yanıt uyarınca, uygulamaya uygun görünümü (= yanıtı) istemciye gönderir.

Kullanıcıya sunulan arayüz çeşitli şekillerde olabilir:

  1. bir konsol uygulaması: bu durumda görünüm, bir dizi metin satırından oluşur.
  2. bir Windows grafik uygulaması: bu durumda görünüm bir Windows penceresidir
  3. bir web uygulaması: bu durumda görünüm, bir HTML sayfasıdır
  4. ...

Bu uygulamanın farklı sürümlerini yazacağız:

  1. Tek bir form içeren ve tek katmanlı bir mimariyle oluşturulmuş bir ASPNET sürümü.
  2. öncekiyle aynı ancak Ajax uzantıları içeren bir sürüm
  3. ASP.NET sürümü, üç katmanlı bir mimariye dayanır ve veri erişim katmanı NHibernate çerçeve ile uygulanır. Bu sürümde de 1. sürümdeki tek form yer alacaktır.
  4. Sürüm 3’ün üç katmanlı mimarisine sahip, çoklu görünüm ve tek sayfalı bir sürüm olan 4 ASP.NET.
  5. Sunucu, sürüm 3'ün katmanlı mimarisine dayanan bir web hizmeti ile uygulanan bir istemci/sunucu uygulamasının sunucu kısmı.
  6. önceki istemci/sunucu uygulamasının istemci kısmı; bu kısım, ASP.NET katmanı ile uygulanır.
  7. Sürüm 3'ün üç katmanlı mimarisine sahip, çoklu görünüm ve çoklu sayfalı bir sürüm 7 ASP.NET.
  8. Sürüm 5 web hizmetinin çoklu görünüm ve çoklu sayfalı istemci tarafı olan sürüm 8 ASP.NET.
  9. Sürüm 3'ün üç katmanlı mimarisine sahip, çoklu görünüm ve çoklu sayfalı bir sürüm 9 ASP.NET; burada veri erişim katmanı, NHibernate çerçevesinin kullanımını kolaylaştıran Spring sınıfları ile uygulanmıştır.
  10. FLEX ile uygulanan ve sürüm 5 web hizmetinin istemcisi olan sürüm 10.

Ön Koşullar


[débutant-intermédiaire-avancé] ölçeğinde, bu belge [intermédiaire] bölümünde yer almaktadır. Belgeyi anlamak için çeşitli önkoşullar gereklidir; bunlar, yazdığım bazı belgelerde bulunabilir:

  1. ASP.NET [ASP.NET 1.1 ile Web Geliştirme (2004)] Programlama;
  2. C# 2008 Dili: [.NET 3.5 Çerçevesi ile C# Sürüm 3.0'ı Öğrenme (2008)]: sınıflar, arayüzler, miras, polimorfizm
  3. [Spring IoC], URL ve [.NET için Spring IoC (2005)]'te mevcuttur. Spring.Net ve [http://www.springframework.net] çerçevelerinde kontrol tersine çevirme (Inversion of Control) veya bağımlılık enjeksiyonu (Dependency Injection) kavramlarının temellerini ele alır.
  4. [Spring.NET ve VB.NET ile Üç Katmanlı Bir Web Uygulaması Oluşturma (2005)], URL ve [Création d'une application web à trois couches avec Spring.NET et VB.NET]'te mevcuttur. Bu ders, web üzerinden ürün satın alma işlemini gösteren basitleştirilmiş bir uygulamayı ele almaktadır. Uygulamanın 3 katmanlı mimarisi, MVC modelini uygulamaktadır.

Bu belgenin paragraflarının başında zaman zaman okuma önerileri yer almaktadır. Bu öneriler önceki belgelere atıfta bulunmaktadır.


Araçlar


Bu vaka çalışmasında kullanılan araçlar, web üzerinden ücretsiz olarak temin edilebilir. Bunlar şunlardır:

  • Visual C# 2008, Visual Web Developer Express 2008, SQL Server Express 2005, URL [http://www.microsoft.com/express/downloads/] adresinden edinilebilir.
  • Uygulama için gerekli hizmetlerin oluşturulmasında kullanılan Spring IoC, URL ve [http://www.springframework.net/] adreslerinde mevcuttur – ayrıca bkz. [3]
  • NHibernate, SGBD ve [http://sourceforge.net/projects/nhibernate/]'in veri erişim katmanı için
  • NUnit: Birim testleri için [http://www.nunit.org].