Neden Poco?

Thursday, June 09, 2011 12:00 PM

Geçen hafta okumaktan zevk aldığım ALT.NET guruba bir başlık açmıştım. Neden poco? Gökhan ERCAN arkadaşımızın verdiği cevap konuyu gayet iyi anlatan bir cevap olmuştu.

 

POCO entity'leri mevcut kullanılan ORM'ye ya da diğer bir dış sisteme ait referans barındırmadığı için sistemdeki mevcut komponent'lerin hepsinden soyutlanmış olacaktır. Bu da üretilen entity'lerin daha kolay test edilmesi, daha saf olarak serialize edilmesi, daha az yer kaplaması ve hiçbir kütüphaneye bağımlılığı olmadan farklı sistemler arasında dağıtılabilmesi gibi avantajlar getirecektir. İleride ORM değiştirebilmek ve aynı entity'lerin farklı ORM kullanan sistemler arasında sorunsuz paylaşabilmesi gibi avantajları olacaktır. 

 

Dezavantaj olarak ise; mimarinin her katmanında temel data kontratları olarak kullanılan entity'lerin direk olarak veriyi ilgilendiren ChangeTracking, LazyLoading, Datatype Validation, Serialization, Databinding gibi konularda tamamen bilgisiz olması ve bu konuda kendiliğinden bir destek verememesidir. Bu özellikleri dış servislerden dinamik ya da statik proxy'ler üreterek çözmek mümkün ama her entity kullanımında 1-2 satırlık ekstra kod getirecek ve dinamik çağrımlar yapacağı için belirli bir oranda performansı düşürebilecektir.. Ayrıca POCO'ya dinamik proxy'ler ile servisler sağlarken tüm property'lerin public, virtual olması, ctor almaması, abstract olmaması gibi kısıtlamalar gelecektir. Bunlar da dezavantaj sayılabilir. "

Etiketler Poco Orm

Bir Tadımlık Sevgi

Monday, June 06, 2011 8:29 AM

Leylasız Mecnunlar diyarı..
Kahpe yeryüzü.
Leyla değilmiydi,
Göstermedi Mecnuna bir gün yüzü
Bir kitap yazmıştıda Mecnun
Adı aşk!
Uzunmu uzun.
Leyla idi onun önsözü.
Bir tadımlık sevgi.....

Etiketler Etiket Yok

Married Cycle

Friday, May 27, 2011 3:29 PM

Basit olarak verilen algoritmayı biraz daha olgunlaştırdım sanırım. Böyle daha mantıklı :)))
protected void MarriedCycle()
{
            if (!this.Evlimi) // İyimser davrandım. Kıymetinizi bilin :))
                return;
            while (Equals(0, 1))
            {
                Erkek erkek = System.World.ErkekBul(); // Algoritma için Bknz:   //http://zeynepbayramoglu.blogspot.com/2011/05/kadn-algoritmas.html
                while (Equals(0, 1)) //Sonsuz döngü
                {
                    if (erkek.ParasiVarMi)
                    {
                        //Kapitalizm is starting......
                        erkek.AktiviteEkle("Ye", this);
                        erkek.AktiviteEkle("İç", this);
                        erkek.AktiviteEkle("Gez", this);
                        erkek.AktiviteEkle("Toz", this);
                        //.
                        //.
                        //.
                        //.
                        //Hayal gücünüze kalmış.
                        if (StabilEvlilikIcinUygunMu(erkek)) //  Algoritma için Bknz: : http://en.wikipedia.org/wiki/Stable_marriage_problem , http://www.eksisozluk.com/show.asp?t=stable%20marriage%20problem
                        {
                            ErkekIcinGameOver(erkek, this);
                            this.Evlimi = true;
                            break;
                        }
                    }
                    this.KeyfiYettiMi = false; //Veya True :)Feedback Alınacak. Kadındır duygular karışık. :)) Durum aktarımı yapılır
                    if (this.KeyfiYettiMi)
                        break;
                }
                if (this.Evlimi)
                    break;
            }
        }

İlahi google

Monday, May 23, 2011 1:22 AM
Kategoriler Google

Chromun hata mesajları beni her zaman gülümsetmiştir :)))

Etiketler Chrome

Kurt Postunda Nice Çakallar Gördüm

Thursday, April 21, 2011 9:05 AM

“...Kurt postunda nice çakallar gördüm
Kurt töresince itten akıl istemem
İki kelam bilmez makamlar gördüm
İlimden nasipsiz kervan istemem

Her dalda gezinen fikri piçlerden
Derde derman olsa ilaç istemem
Omzu kalabalık içi boşlardan
Dünyalık payeler rütbe istemem !..” M.T.

Etiketler Etiket Yok