Singleton bir anti-pattern degildir, eger öyle olsaydi Spring Singleton nesnelerin olusmasina izin vermezdi. Scope tagi ile bir Spring Bean olustururken, hangi türde olmasina kendimiz karar verebiliyoruz.
Nesneye yönelik bir yapida yazilim yapiyorsaniz, bagimliliklarla beraber yasamak zorundasiniz, eger bunu istemiyorsaniz, o zaman 100 metot ve 5000 satirdan olusan bir sinif icinde herseyi kodlayabilirsiniz!
Singleton tasarim gerekli oldugu bircok durum var. Global bagimlilik olusacak, bu yüzden Singleton bir anti patterndir tezi bence gecerli degil. Bagimliliklar heryerde var, amac bu bagimliliklari aza indirmek yada esnek bir hale getirmek olmalidir.
> .Aslında bence problem hem nesnenin bu sorumluluğu kendi yönetmesi
> hemde global data olarak kullanılması . Doğal olarak tüm uygulamanın bu
> nesneye bağımlı olması.Ayrıca uygulamanın test edilmesini
> zorlaştırmasını da ekleyebiliriz.
>
> Sorumluluğu nesneden alınmasını Dependency Injection,Service
> Locator... ile halledebiliriz. Bu şekilde bağımlılığı ve azaltmış ve test
> işlemlerini kolaylaştırmış oluruz.Bu soruna kısmen bir çözüm
> getirsede global olarak bir sınıfa bağımlılığı yinede ortadan
> kaldırmıyor.DI ile de alsak interface kullansak bile yinede bu sınıfa ya da
> arayüze bağımlı oluyoruz.
>
> Bence yoğun olarak singleton kullanana projelerin tasarım olarak gözden
> geçirilmesi gerekir.Bu yüzden Design Pattern kitabı yazanlarında
> Singletonun gözü kapalı olarak kullanılmaması ve kullanıldığında ne
> gibi problemlere yol açabilir bunlardan bahsetmesi gerekir.Anti-Pattern
> olarak belirtilmesini söylmem bu yüzden.
> --- On Tue, 9/2/08, Cenk Civici <
ccivici@...> wrote:
> From: Cenk Civici <
ccivici@...>
> Subject: Re: [YazMuhTR] Java Tasarim Sablonlari Kitabi
> To:
YazilimMuhendisligiTurkiye@...
> Date: Tuesday, September 2, 2008, 10:19 AM
>
>
>
>
>
>
>
>
>
>
>
> Singleton neden bir antipattern?
>
> Problem objenin tek bir instance a sahip olma sorumlulugunu kendisinin
>
> yonetmesi mi?
>
> Bu sorumluluk baska bir objeye ornegin Factory objelerine delege
>
> yuklendigi zaman problem cozuluyor mu?
>
>
>
> Iyi calismalar
>
> Cenk Civici
>
>
>
> --- In YazilimMuhendisligi Turkiye@yahoogro ups.com, cihat altuntas
>
> <mcaaltuntas@ ...> wrote:
>
> >
>
> > Keþke Singleton'ý koymasaydýn ya da Anti-Pattern olarak koysaydýn :)
>
> Bu arada kitabýn hayýrlý olsun..
>
> >
>
> > --- On Tue, 9/2/08, Oezcan Acar <acar@...> wrote:
>
> > From: Oezcan Acar <acar@...>
>
> > Subject: [YazMuhTR] Java Tasarim Sablonlari Kitabi
>
> > To: YazilimMuhendisligi Turkiye@yahoogro ups.com
>
> > Date: Tuesday, September 2, 2008, 1:57 AM
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> >
>
> > Degerli arkadaslar,
>
> >
>
> >
>
> >
>
> > son calismam, Java Tasarim Sablonlari ve Yazilim Mimarileri isimli
>
> kitabim Pusula tarafindan yayimlanmistir.
>
> >
>
> >
>
> >
>
> > Islenen Konular:
>
> >
>
> >
>
> >
>
> > • Interface ve Abstract Sýnýflar
>
> >
>
> > • Tasarým Þablon Çeþitleri
>
> >
>
> > • Oluþturucu Tasarým Þablonlarý
>
> >
>
> > • Yapýsal Tasarým Þablonlarý
>
> >
>
> > • Davranýþsal Tasarým Þablonlarý
>
> >
>
> > • JEE Tasarým Þablonlarý
>
> >
>
> > • Yazýlým Mimarisi
>
> >
>
> > • Spring ile Tasarým Mimarisi
>
> >
>
> >
>
> >
>
> > Tematize edilen tasarim sablonlari (Design Patterns) söyledir:
>
> >
>
> >
>
> >
>
> > - Abstract Factory (soyut fabrika)
>
> >
>
> > - Builder (inþaatçi)
>
> >
>
> > - Factory Method (fabrika)
>
> >
>
> > - Prototype (prototip)
>
> >
>
> > - Singleton (yanlýzlýk)
>
> >
>
> > - Adapter - Bridge (köprü)
>
> >
>
> > - Facade (cephe)
>
> >
>
> > - Decorator (dekotatör)
>
> >
>
> > - Composite (kompozit)
>
> >
>
> > - Flyweight (sinek siklet)
>
> >
>
> > - Proxy (vekil)
>
> >
>
> > - Command (komut)
>
> >
>
> > - Memento (hatýra)
>
> >
>
> > - Strategy (strateji)
>
> >
>
> > - Iterator (tekrarlayýcý)
>
> >
>
> > - State (durum)
>
> >
>
> > - Chain Of Responsibility (sorumluluk zinciri)
>
> >
>
> > - Mediator (aracý)
>
> >
>
> > - Observer (gözlemci)
>
> >
>
> > - Template Method (þablon metot)
>
> >
>
> > - Visitor (ziyaretçi)
>
> >
>
> > - MVC
>
> >
>
> > - Data Access Object
>
> >
>
> > - Front Controller
>
> >
>
> > - Business Delegate
>
> >
>
> > - Intercepting Filter
>
> >
>
> > - Service Locator
>
> >
>
> >
>
> >
>
> > Tasarim sablonlarinin nasil uygulandigi birer Java örnegiyle
>
> gösterilmistir. Bunun yanisira Interface ve Abstract siniflarin
>
> kullanimi ve tasarim prensipleri hakkinda bilgi edinmek mümkündür.
>
> >
>
> >
>
> >
>
> > Ilgi duyanlar kitabi Internet üzerinde asagida yeralan shoplardan
>
> temin edebilirler.
>
> >
>
> >
>
> >
>
> > HepsiBurada. com
>
> >
>
> >
http://www.hepsibur ada.com/productD etails.aspx? CategoryId=
>
> 211652&productId =kpusula177
>
> >
>
> >
>
> >
>
> > EStore.com
>
> >
>
> >
http://www.estore. com.tr/ESTORE/ Products. aspx?catalog=
>
> Kitap&productid= KTI34714(7000000)
>
> >
>
> >
>
> >
>
> > IdeeFixe.com
>
> >
>
> >
http://www.ideefixe .com/kitap/ tanim.asp? sid=C12CV6B6VT6T QAGZISIC
>
> >
>
> >
>
> >
>
> > Kitabin ismi: Java Tasarim Sablonlari ve Yazilim Mimarileri
>
> >
>
> > ISBN: 978-9944-711- 14-2
>
> >
>
> > 1. Baski Mayis 2008
>
> >
>
> >
http://www.pusula. com
>
> >
>
> >
>
> >
>
> > Bilginize.
>
> >
>
> >
>
> >
>
> > Saygilarimla
>
> >
>
> >
>
> >
>
> > --
>
> >
>
> >
>
> >
>
> > ____________ _________ ______
>
> >
>
> >
>
> >
>
> > Özcan Acar, Dipl. Inf(FH)
>
> >
>
> > Vorstand
>
> >
>
> > Smart Web Business AG
>
> >
>
> >
>
> >
>
> > Im Niederfeld 8
>
> >
>
> > 65462 Gustavsburg
>
> >
>
> >
>
> >
>
> > +49 171 57 33 66 5
>
> >
>
> > acar@unitedinter. net
>
> >
>
> >
>
> >
>
> > --
>
> >
>
> > Mit freundlichen Grüßen
>
> >
>
> >
>
> >
>
> > ____________ _________ ______
>
> >
>
> >
>
> >
>
> > Özcan Acar, Dipl. Inf(FH)
>
> >
>
> > Vorstand
>
> >
>
> > Smart Web Business AG
>
> >
>
> >
>
> >
>
> > Im Niederfeld 8
>
> >
>
> > 65462 Gustavsburg
>
> >
>
> >
>
> >
>
> > +49 171 57 33 66 5
>
> >
>
> > acar@unitedinter. net
>
> >
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
Özcan Acar, Dipl. Inf(FH)