Welcome

ServiceLocator’dan Inversion of Control’e Yolculuk

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 […]

Factory Method Pattern Implementation of Spring: FactoryBean

Factory method pattern aims to encapsulate object creation process within a separate method in your system. That’s why it is called as so. Factory methods can be created as either static or instance methods within a class. In Spring Application Framework, although it is possible to make use of static or instance factory methods to […]

What is the difference between Strategy and Template Method patterns…, if there is any?

In our Spring book, we discuss about transaction management mechanisms available in the Spring Framework, namely declarative and programmatic transactions. It is further explained inside programmatic transaction demarcation section, that how programmatic transaction can be achieved using different methods. One of the ways programmatic transaction can be achieved is, using TransactionTemplate utility class provided by […]

Spring Application Framework ve Tasarım Örüntüleri 2

Önceki yazılarımızdan birinde Spring Application Framework’de kullanılan örüntülerin bir kısmındann bahsetmiştik. Factory Method, Singleton, Prototype, Proxy, Template Method, Observer, Mediator, Front Controller örüntüleri Spring Application Framework içerisinde değişik şekillerde karşımıza çıkmaktadır. Bu yazımızda da Spring Application Framework içerisinde kullanılan diğer bazı örüntülerden bahsedeceğiz. Strategy: Bu örüntü Spring ürün ailesinin hemen her yerinde karşımıza çıkmaktadır. Spring […]

Serialization mı Memento mu?

Geçen hafta düzenlediğimiz ve hem benim hem de katılımcılar için oldukça verimli ve eğlenceli geçtiğini düşündüğüm uygulamalı “Nesne Yönelimli Tasarım Prensipleri ve Tasarım Örüntüleri Eğitimi”nde Memento örüntüsünü inceleyip Java’da nasıl implement edileceğini bir örnek ile açıklarken “Serialization varken Memento’ya neden ihtiyaç duyarız?” şeklinde bir soru soruldu. Memento tasarım örüntüsü ile amaçlanan, bir nesnenin dahili state […]

Java ve Double Dispatch 2

İlk yazımızda Java’da “single dispatch“in nasıl çalıştığını ve “multiple dispatch” problemini incelemiştik. Eğer metot çözümleme sırasında input argümanında dikkate alınmasını istiyorsak izlememiz gereken yol “metot çözümlemeyi input argümanın kendisine delege etmek” olacaktır. Nasıl mı? Örnekle açıklayalım… Visitor v = new SubVisitor(); A a = new B(); v.visit(a); Bir önceki örneğimizde Visitor’ün visit metodunu çağırıyor ve […]

Java ve Double Dispatch 1

Hepimizin bildiği gibi Java polymorphic (çok formlu) bir dildir. Çok formluluk java uygulamasının içindeki metot çağrılarının spesifik olarak hangi sınıftaki metot tanımı ile yapılacağının çalışma zamanına kadar ötelenmesi ile gerçekleştirilmektedir. Bir örnek ile açıklayalım. public class Visitor { public void visit(A a) { System.out.println(“Visiting A”); } } public class SubVisitor extends Visitor { @Override public […]

Tasarım Prensipleri ve Tasarım Örüntülerine Giriş Seminerleri

Aralık 2011’de ODTÜ Enformatik Enstitüsü’nde, arından da dün ODTÜ Bilgisayar Mühendisliği’nde tasarım örüntülerinden ve nesne yönelimli yazılım geliştirmede temel bazı tasarım prensiplerinden bahsettiğimiz iki sunum gerçekleştirdik. Bunlardan ODTÜ’deki sunumda klasik ve modernist nesne yönelimli tasarım yöntemlerinin ne tür sonuçlar doğurduğunu örnek bir proje üzerinde katılımcılarla paylaştık. Sunum ve örnek koda aşağıdaki link’lerden erişebilirsiniz. Tasarim_Prensipleri case […]

Spring ve Event Tabanlı Mimariler

Dört günlük Spring Application Framework Core Eğitimi‘mizde Spring hakkında pek çok konu üzerinde duruyoruz. Bu konulardan birisi de Spring container’ın event publish mekanizmasıdır. Spring Application Framework ile sistemimizi event tabanlı bir mimari üzerine bina etmek oldukça kolaydır. Spring container kurumsal uygulamalarda bir event bus olarak görev yapabilir. Uygulama içerisindeki farklı modüller, birbirleri ile event tabanlı […]

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 […]