Search Blog

Search duranek.blogspot.com

Tuesday, January 17, 2012

Flyweight Pattern ( Structural )

Flyweight Pattern ( Structural Design Pattern )

1) Iskambil Oyunu yapacagiz. 52 Tane kagit var. Bu 52 kagitta 4 tip olur. 
   Kupa Karo Maca Sinek
   Her birinden 13 tane var. 
   Eger iskambil kagidi bir obje ise, o objenin hem tip hem de numara variable'i olacak.
   Basite indirgeyelim. Her variable 1 byte olsun.
   52 kagit icin, toplam 52x2 = 104 byte yer gerecek.
   Fakat Her tipi obje yapip, variable'lara o objenin referansini versek,
   52 kagit var, numaralar icin 52, tip icin 4 olacak, boylece 56 byte yer ayiracagiz.
   Her tipi de ihtiyac oldugumuz zaman yaratsak, performans da cok hizli olacaktir. 
   Bunu map ile yapiyoruz.
2) Bu durumda, FlyweightFactory class'i, bize istenen tipi dondurecek. Icinde bir map olacak.
O map te tip varsa dondurecek, yoksa yaratacak, yarattigini map'e atacak ve dondurecek.
Burada da flyweight tip oluyor.


No comments: