Harezmi Bilişim Çözümleri olarak 7 seneden fazla bir zamandır Spring Application Framework ile ilgili eğitimler veriyoruz. J2EE’nin ilk dönemlerinde kurumsal Java uygulamaları geliştirilirken kullanılan ServiceLocator örüntüsünün nasıl IoC veya Dependency Injection’a doğru evrildiğini anlamanın Spring Application Framework’ün özünü ve temel felsefesini anlamak için çok faydalı olduğunu düşündüğümüz için de eğitimelerimizde Spring’i anlatmaya bu konu üzerinden […]
Kategori: Design Principles
Soyutlama Heryerde
Java programlama dili eğitimlerinde java ve object oriented programlama konularını anlatmaya soyutlama kavramı ile başlıyorum. Neden mi? Çünkü soyutlama hemen her an gerçekleştirdiğimiz bir aktivite. Hayatın her yerinde ve her anında geçerli. İnsanoğlunun çevresindeki olayları ve olguları anlayabilmesi, problemleri çözebilmesi için bu olay ve olguların sadece belirli bir boyutuna odaklanması şart. Sınırlı zihni kabiliyetlerimiz bütün […]
Nesnelerin Yaratılması ve OCP Prensibi
Bir önceki yazımda CustomerOrder constructor’ı içerisinde nesnenin initialization’ı dışında ProjectElement ile 1:M parent-child ilişkinin kurulmasından bahsetmiştim. Ardından da exists metodunu ProjectElement’e eklemeye kalkarsak ne gibi bir problemle karşılaşırız diyerek yazıyı sonlandırmıştım. Problem new CustomerOrder(…) ile yeni bir nesne oluşturduğumuz anda ProjectElement nesnesinin child set’inin içerisine, oluşturulan CustomerOrder nesnesinin eklenmesinden ötürü, exists metodunun CustomerOrder nesnesini input […]
Nesnelerin Yaratılması ve SRP Prensibi
Geçen gün şu sıralar birlikte çalıştığım bir müşterimin projesinde şöyle bir durumla karşılaştım. ProjectElement ve CustomerOrder adında iki entity arasında 1:M parent-child ilişki söz konusuydu. ProjectElement’in tekilliğini businessKey ve client gibi iki değişken belirlerken, CustomerOrder’ın tekilliğini ise businessKey, client ve nesnenin ait olduğu projectElement’i belirliyordu. Başka bir ifade ile CustomerOrder nesnesinin, yaşam döngüsü boyunca tek […]
Object Kelimesinin Seçilmesi
Kelimeler hiç şüphesiz düşüncelerimizi, hayal dünyamızı, algılarımızı şekillendiriyor. Fikir dünyamız için yeni açılımlar getirmede kolaylaştırıcı bir rol üstlenebiliyorlar, veya tam tersine düşüncelerimiz önünde zaman zaman engel olabiliyorlar. Bu doğrultuda, bilişim teknolojilerindeki yabancı terimlere bire bir sözlük karşılıkları bulunmasından pek memnun olmadığımı belirtmek istiyorum. Endişem bu sözlük karşılıklarının üzerinde çalıştığımız alanla ilgili kavram, olgu ve diğer […]