Kitap – Domain Driven Design

27 Şub
Domain Driven Design
Domain Driven Design

Kitap tavsiye kategorisinin bu bölümünde Domain Driven Desing Tackling Complexity in the Heart of Software isimli kitaptan bahsedeceğiz.

Kitap Eric Evans tarafından kaleme alınmış olup dili ingilizcedir. Basılı kitabı buradan temin etmek mümkündür.

Kitapta karmaşık yapıdaki yazılımlar geliştirirken nasıl bir yazılım tasarımının uygulanması gerektiği konusu ele alınmıştır. Bu tasarım Domain Driven Design diye adlandırılmıştır.

Domain Driven Design yaklaşımı, problemin çözümünün domain diye adlandırılan bir alanda yapılması esasına dayanmaktadır. Burada problem, bir hava yolları rezervasyon sistemi veya bir e-ticaret sistemi tasarlamak olabilir. Bu noktada müşteri ve programcı karşı karşıya gelmektedir. Müşteri gereksinimleri, Domain Expert denen kişiler tarafından iyi bir şekilde tespit edilerek programcının anlayacağı bir şekle dönüştürülür. Programcı ve Müşteri arasında  sağlıklı bir iletişimin kurulabilmesi için Ubiquitous Language diye adlandırılan ortak bir dil oluşturulur. Gerekli iletişim sağlandıktan sonra sistem programcılar tarafından geliştirilmeye başlar.

Domain Driven Design yaklaşımı bize genel olarak dört temel katman üzerine inşaa önerir. Bunlar:

  • Presentation layer
  • Application layer
  • Domain layer
  • Infrastructure layer

Problemin çözümü için gerekli model Domain Layer üzerinde kurulur. Diğer katmanlar sunum ve iletişim katmanları olarak kullanılır.

Eric Evans’a göre Domain-Driven Design yaklaşımı, yazılım dünyasının popüler konularından birisi oldu ve kapsamlı yazılım projelerinde kullanılıp faydası görüldükçe yaygınlaşacak. Bunun yanında her projede Domain Driven Design yaklaşımını uygulamak yanlış olur. Sadece gerektiğinde kullanmak uygun olacaktır.

Kitap – Clean Code

25 Oca
Clean Code
Clean Code

Kitaplar kategorisinin bu yazısında Clean Code isimli kitabı konu ediyorum. Robert Cecil Martin imzalı bu kitap, Prentice Hall yayınlarından çıkmıştır.

Yaklaşık 430 sayfalık bir kitaptır. Dili İngilizce olup gayet akıcı ve anlaşılırdır.

Clean Code, yazılım geliştiricilere temiz kod yazma konusunda iyi bir rehberdir. Yazılım geliştirme deneyimi 40 yılı aşkın olan bir yazar tarafından kaleme alınmıştır. Bu bağlamda, sırf kod örnekleri ile kalmayıp tecrübe aktarımı ile de süslenmiş bir eserdir.

Temiz kod yazmak, bilgisayarlar tarafından kodun düzgün çalıştırılmasını veya anlaşılmasını değil, kodumuzu okuyan diğer geliştiriciler tarafından kodun doğru şekilde anlaşılmasını amaçlamaktadır. Temiz kod, projelerin zamanla yönetilebilir olmaktan çıkmasını engellemektedir. Dolaylı olarak maliyetleri de düşürdüğü görülmektedir.

Örnek kodlar Java programlama dili ile yazılmıştır. Örnekleri anlamak için Java, C, C# gibi programlama dillerini bilenler de örnekleri anlama noktasında çekmeyeceğini düşünüyorum. Örnekler gayet anlaşılır şekilde açıklanmıştır. Nelerin yapılıp yapılmaması konusunda birçok örnek verilmiştir.

Tek başına program yazanların kendine özgü kod yazım biçimleri veya geliştirdikleri kişisel yöntemler olabilir. Bu kitabı önemsemeyebilirler. Ancak kurumsal bazda proje geliştirenlerin aynı standartta, okunabilir ve yönetilebilir kod yazmaları, projenin hayatını devam ettirebilmesi için şarttır. Kurumsal geliştiriciler için iyi bir kaynak olabileceği kanısındayım.

Kitabı amazon.com’dan satın aldım. Kitaba diğer yurt dışı alışveriş siteleri üzerinden ulaşmak da mümkündür. Şu anda bu tarz kitaplara ülkemizde satılmamaktadır. Temennimiz bu tarz kitapların ülkemizde de satılmaya başlamasıdır.

Kitap – Head First Design Patterns

21 Ağu
Head First Design Patterns
Head First Design Patterns

Kitaplar serisine ait bu yazıda Hear First Design Patterns isimli kitabı incelemeye çalışacağız. Kitabın yazarları Eric Freeman ve Elisabeth Freeman‘dır. O’REILLY yayınlarından çıkmıştır. Amazon üzerinden bu kitaba ulaşabilirsiniz.

Kitap 638 sayfa olup dili İngilizcedir. İngilizce seviyesi ortanın üstünde olmayanlara bu kitabı önermem.

Head First Design Patterns tasarım şablonlarını nesneye yönelik programlama teknikleri ile harmanlayarak işlemiştir. Anlatımı gayet akıcıdır ve anlaşılması kolaydır. Konuları düz metin ağırlıklı değil, resimlerle ve şekillerle güçlendirerek görsellik üzerinde anlatımını yoğunlaştırmıştır. Bu sayede konuların kolay anlaşılması sağlanmıştır.

Bu kitabı okurken Java bilgisine sahip olmanız gerekir. Örnekler Java programlama dili ile geliştirilmiştir. Ancak C# programlama dilini bilenlerin de okuyabileceği bir kitaptır. Java veya C# dillerinde uzmanlaşmış olmanıza gerek yoktur, nesneye yönelimli programlama tekniklerini bilmeniz yeterlidir.

Kitabı okurken hiç sıkılmadım. Örnekler gayet sade ve anlaşılır geldi bana. Tasarım şablonlarını öğrenmek ve uygulamak isteyenlere kesinlikle öneririm. Tabi ki bu kitap sihirli bir değnek değil. Okuyan herkes tasarım şablonlarının en iyi uygulayıcısı olacak diye bir kaide koymuyorum. Kitaptan aldıklarını kendi problemlerinize uygulamak size kalmış. Umarım faydalı olur. Tekrar görüşmek dileğiyle.

Kitap – Head First Object-Oriented Analysis & Design

25 Ara

Nesneye Dayalı Programlama (Object Oriented Programming) ile geliştirilen programların analizi ve tasarımı konusunda yol gösterici bir rehberdir. Yazdığınız programların kafa karıştırıcı ve sıkıcı hale dönüşmemesi için nasıl tasarımlar yapılması konusunda örnekler verir.

Kitapta bir taraftan da tasarım desenleri konusunda bilgiler verilmektedir. yazdığımız kodlarda tasarım desenlerinin kullanılması gerektiği konusu vurgulanmaktadır.

Kitaptaki örnekler Java programlama dilinde yazılmıştır. Bu nedenle kitaptan daha iyi faydalanmak için Java programlama diline aşina olmak gerekmektedir.

Kitap O’REILLY yayınlarından çıkmıştır. Orjinal sayfasına buradan ulaşabilirsiniz. Satın almak için amazon üzerinden sipariş verebilirsiniz.

Kitap – The C# Programming Language

30 Kas

C# dilini nereden ve nasıl öğrenirim diyenlere “bu kitaptan” diyebilirim. Çünkü kitabın yazarlarından biri de C# dilinin baş mimarı diyebileceğimiz Anders Hejlsberg’dir. Her işi ustasından öğrenmek gerektiğine inananlardan olduğum için bu kitabı edinerek hemen okumaya başladım. Kitapta C# dilinin bütün özellikleri derinlemesine anlatılmış ve yerinde örneklendirmeler yapılarak anlaşılırlık daha da güçlendirilmiştir. Bu anlamda tam bir başucu kitabı demek yanlış olmaz.

Kitaptaki örnek kodlara baktığınızda bile bu kitabın usta kalemlerden çıktığını anlayabiliyorsunuz. C# dilini anlatan kitapların çok azında bulabileceğiniz bir anlatım derinliği ve genişliği sunmaktadır. Kitap, özünde C# dilini kavratmakta ve dilin neden önemli olduğunu okuyucuya ikna edici bir dil ile anlatmaktadır.

Kitabın C# 4.0 versiyonunu okuma fırsatı buldum ve merak ettiğim konuları açıp okumaya devam ediyorum. Herkese tavsiye ederim. Kitabın yazarlarına da böyle bir eseri bizlerle buluşturduğu için teşekkür ederim.

Tekrar görüşmek dileğiyle.

Kitap – Programming Entity Framework

14 Ağu

ADO.NET mimarisinin en önemli araçlarından biri olan Entity Framework mimarisini ustasının ağzından dinleyebileceğiniz bir kitap.

Entity Framework yapısının temellerindeki yaklaşımları adım adım anlatmaktadır. Bu yaklaşımları aşağıdaki gibi sıralayabiliriz:

  • Code First
  • Database First
  • Model First

Bunun yanında SQL sorgularının ORM aracıyla kullanılması, Stored procedure kullanımı gibi konularada yer verilmektedir.

ORM araçlarının temelinde yatan entity mantığı derinlemesine irdelenmektedir.

Kitabın dili ingilizce olmakla beraber anlaşılır şekildedir.

Umarım zevkle okursunuz.