Welcome

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