<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Tell Don&#8217;t Ask Principle</title>
	<atom:link href="http://www.cihataltuntas.com/?feed=rss2&#038;p=481" rel="self" type="application/rss+xml" />
	<link>http://www.cihataltuntas.com/?p=481</link>
	<description>Test Infected Software Engineer</description>
	<lastBuildDate>Mon, 06 Sep 2010 23:45:20 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Hasan</title>
		<link>http://www.cihataltuntas.com/?p=481&#038;cpage=1#comment-5085</link>
		<dc:creator>Hasan</dc:creator>
		<pubDate>Sun, 27 Sep 2009 21:04:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.cihataltuntas.com/?p=481#comment-5085</guid>
		<description>Tekrar merhaba,

Repository pattern&#039;inden haberim var, bu konuya bir çözüm getirebilir. Çünkü, domain&#039;in bir parçası olarak var oluyorlar.

Diğer önerdiğiniz çözümler gerçekten birer çözüm. Ancak, asıl sorum böyle bir durumda (büyük veriseti) domain modelini etkilemeden bu sorunu nasıl çözeriz. 3. önerdiğiniz çözüm sanırım buna en yakını oluyor...</description>
		<content:encoded><![CDATA[<p>Tekrar merhaba,</p>
<p>Repository pattern&#8217;inden haberim var, bu konuya bir çözüm getirebilir. Çünkü, domain&#8217;in bir parçası olarak var oluyorlar.</p>
<p>Diğer önerdiğiniz çözümler gerçekten birer çözüm. Ancak, asıl sorum böyle bir durumda (büyük veriseti) domain modelini etkilemeden bu sorunu nasıl çözeriz. 3. önerdiğiniz çözüm sanırım buna en yakını oluyor&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: M. Cihat Altuntaş</title>
		<link>http://www.cihataltuntas.com/?p=481&#038;cpage=1#comment-5009</link>
		<dc:creator>M. Cihat Altuntaş</dc:creator>
		<pubDate>Sun, 13 Sep 2009 09:09:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.cihataltuntas.com/?p=481#comment-5009</guid>
		<description>@Hasan 
İkinci olarak asıl soruya dönecek olursak. Çok tartışmalı bir noktaya deyinmişsin. DDD(Domain-Driven-Design) mailing listelerinde oldukça sık sorulan bir soru.Öncelikle eğer bakmadıysan DDD ve Repository pattern&#039;a bakmayı tavsiye ederim. Bu adreste güzel bilgiler mevcut http://devlicio.us/blogs/casey/archive/2009/02/20/ddd-the-repository-pattern.aspx.

Repository ,Dao sınıflarının Entity nesneler içerisinde çağırılması konusunda çoğu kişinin olduğu gibi benimde bu konuda net bir cevabım yok. Çoğu zaman duruma göre davranmak zorunda kalıyorum.
Bu konuda eğer dediğin gibi 1 milyon kayıt içeren bir durum söz konusu ise muhtemelen bende o şekilde yapmazdım. Repository içerisinde SatisToplaminiBul(Tarih) adlı bir metod koyup toplamı database içinde yaptırmak daha uygun bir çözüm olabilir. Aksi taktirde 1 milyon nesneyi hafızaya yüklemek ve toplamak performansı öldürebilir. 

İkinci seçenek olarak eğer lazy-load olarak yüklenecek kayıtlar çok fazla değilse buna çok fazla aldırış etmeden kullanabilirdim.Yada hesaplama yapacağım nesneyi direk olarak Eager Load olarak yükleyebilirsin. Yani içinde Satis nesneleri yüklenmiş olur ve bu şekilde Lazy load yapmamaış olursun. 

Diğer bir seçenek olarak Belki Hasilat ya da SirketSatislari adından bir nesne oluşturup bunu Repository&#039;den çekip ardından Hasilat.ToplamTutar adında bir metodu çağırabiliridim. Dediğim gibi duruma göre değişik çözümler uygulayabilirsin.Umarım yardımcı olabilmişimdir...</description>
		<content:encoded><![CDATA[<p>@Hasan<br />
İkinci olarak asıl soruya dönecek olursak. Çok tartışmalı bir noktaya deyinmişsin. DDD(Domain-Driven-Design) mailing listelerinde oldukça sık sorulan bir soru.Öncelikle eğer bakmadıysan DDD ve Repository pattern&#8217;a bakmayı tavsiye ederim. Bu adreste güzel bilgiler mevcut <a href="http://devlicio.us/blogs/casey/archive/2009/02/20/ddd-the-repository-pattern.aspx" rel="nofollow">http://devlicio.us/blogs/casey/archive/2009/02/20/ddd-the-repository-pattern.aspx</a>.</p>
<p>Repository ,Dao sınıflarının Entity nesneler içerisinde çağırılması konusunda çoğu kişinin olduğu gibi benimde bu konuda net bir cevabım yok. Çoğu zaman duruma göre davranmak zorunda kalıyorum.<br />
Bu konuda eğer dediğin gibi 1 milyon kayıt içeren bir durum söz konusu ise muhtemelen bende o şekilde yapmazdım. Repository içerisinde SatisToplaminiBul(Tarih) adlı bir metod koyup toplamı database içinde yaptırmak daha uygun bir çözüm olabilir. Aksi taktirde 1 milyon nesneyi hafızaya yüklemek ve toplamak performansı öldürebilir. </p>
<p>İkinci seçenek olarak eğer lazy-load olarak yüklenecek kayıtlar çok fazla değilse buna çok fazla aldırış etmeden kullanabilirdim.Yada hesaplama yapacağım nesneyi direk olarak Eager Load olarak yükleyebilirsin. Yani içinde Satis nesneleri yüklenmiş olur ve bu şekilde Lazy load yapmamaış olursun. </p>
<p>Diğer bir seçenek olarak Belki Hasilat ya da SirketSatislari adından bir nesne oluşturup bunu Repository&#8217;den çekip ardından Hasilat.ToplamTutar adında bir metodu çağırabiliridim. Dediğim gibi duruma göre değişik çözümler uygulayabilirsin.Umarım yardımcı olabilmişimdir&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: M. Cihat Altuntaş</title>
		<link>http://www.cihataltuntas.com/?p=481&#038;cpage=1#comment-5008</link>
		<dc:creator>M. Cihat Altuntaş</dc:creator>
		<pubDate>Sun, 13 Sep 2009 08:50:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.cihataltuntas.com/?p=481#comment-5008</guid>
		<description>@Hasan Merhaba,
Öncelikle yorumlara cevap yazmayışımın nedeni sağolsun arkadaşların makale için teşekkür etmesi ve konu ile alakalı bir soru olmayışıydı. Sadece @Eyuphan bir soru sormuş ve cevabınıda kendisi vermiş o yüzden herhangi bir cevap yazmadım.</description>
		<content:encoded><![CDATA[<p>@Hasan Merhaba,<br />
Öncelikle yorumlara cevap yazmayışımın nedeni sağolsun arkadaşların makale için teşekkür etmesi ve konu ile alakalı bir soru olmayışıydı. Sadece @Eyuphan bir soru sormuş ve cevabınıda kendisi vermiş o yüzden herhangi bir cevap yazmadım.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hasan</title>
		<link>http://www.cihataltuntas.com/?p=481&#038;cpage=1#comment-5004</link>
		<dc:creator>Hasan</dc:creator>
		<pubDate>Sat, 12 Sep 2009 19:04:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.cihataltuntas.com/?p=481#comment-5004</guid>
		<description>bir onceki yorumumda aslinda demek istedigim: veriseti buyuk oldugunda ne yapacagiz? ornegin, bu sirketin 1 senelik satislarinin istendigini dusunelim ve elimizde 1 milyon satis kayidi olsun. asil sorum bu sekilde olacak.</description>
		<content:encoded><![CDATA[<p>bir onceki yorumumda aslinda demek istedigim: veriseti buyuk oldugunda ne yapacagiz? ornegin, bu sirketin 1 senelik satislarinin istendigini dusunelim ve elimizde 1 milyon satis kayidi olsun. asil sorum bu sekilde olacak.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hasan</title>
		<link>http://www.cihataltuntas.com/?p=481&#038;cpage=1#comment-5003</link>
		<dc:creator>Hasan</dc:creator>
		<pubDate>Sat, 12 Sep 2009 19:02:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.cihataltuntas.com/?p=481#comment-5003</guid>
		<description>Cihat Bey selam,

Buradaki hic bir comment&#039;e yanit vermemeniz ilginc. Bu arada, makale icin tesekkurler; guzel olmus.

Yalniz bir durum var. Bu sekilde kodu yazi yazmak guzel ancak, eger business domain kuralimiz bir sirketin satislarini belirli bir tarihten itibaren toplamamizi gerektiriyorsa bunu domain objemizde tutmak yada belirtmek zahmetli olmayacak mi?

orn:

class sirket
{
    long satislariTopla(date itibaren)
    {
        // ...? burda dao&#039;ya soramayiz
        // temiz olmaz, oyleyse
        // demekki satislar zaten icerde
        // veya lazy sekilde biri bu
        // metodu cagirinca gelecek
        // hepsi birden!

        foreach (satis)
        {
            if (satis.premium?)
              satiscount++;
        }
        return satiscount;
    }
}

Bu gibi bir durumda ustteki domain model objelerinin anemic olmamasi icin ne oneriyorsunuz?</description>
		<content:encoded><![CDATA[<p>Cihat Bey selam,</p>
<p>Buradaki hic bir comment&#8217;e yanit vermemeniz ilginc. Bu arada, makale icin tesekkurler; guzel olmus.</p>
<p>Yalniz bir durum var. Bu sekilde kodu yazi yazmak guzel ancak, eger business domain kuralimiz bir sirketin satislarini belirli bir tarihten itibaren toplamamizi gerektiriyorsa bunu domain objemizde tutmak yada belirtmek zahmetli olmayacak mi?</p>
<p>orn:</p>
<p>class sirket<br />
{<br />
    long satislariTopla(date itibaren)<br />
    {<br />
        // &#8230;? burda dao&#8217;ya soramayiz<br />
        // temiz olmaz, oyleyse<br />
        // demekki satislar zaten icerde<br />
        // veya lazy sekilde biri bu<br />
        // metodu cagirinca gelecek<br />
        // hepsi birden!</p>
<p>        foreach (satis)<br />
        {<br />
            if (satis.premium?)<br />
              satiscount++;<br />
        }<br />
        return satiscount;<br />
    }<br />
}</p>
<p>Bu gibi bir durumda ustteki domain model objelerinin anemic olmamasi icin ne oneriyorsunuz?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eyuphan</title>
		<link>http://www.cihataltuntas.com/?p=481&#038;cpage=1#comment-4045</link>
		<dc:creator>Eyuphan</dc:creator>
		<pubDate>Thu, 16 Jul 2009 10:25:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.cihataltuntas.com/?p=481#comment-4045</guid>
		<description>Pardon!!!!!
Ben tekrar baktim --&gt; [Cek] &lt;-- methodunu gördüm Özür ;)</description>
		<content:encoded><![CDATA[<p>Pardon!!!!!<br />
Ben tekrar baktim &#8211;&gt; [Cek] &lt;&#8211; methodunu gördüm Özür <img src='http://www.cihataltuntas.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eyuphan</title>
		<link>http://www.cihataltuntas.com/?p=481&#038;cpage=1#comment-4044</link>
		<dc:creator>Eyuphan</dc:creator>
		<pubDate>Thu, 16 Jul 2009 10:23:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.cihataltuntas.com/?p=481#comment-4044</guid>
		<description>Benim bir sorum olacakti. Sizin Code&#039; unuzu denemdim ilk bakista aklima takilan soru. Eger Main methodunu sizin yukardaki gibi yapsak mesela Müsterilerden AhmetUsta diyelim ki büyük bir sitenin kapicisi. Yani AhmetUsta 20 gazete satil almak istese, 20 kere List&#039; e eklemek gerekiyor. Ve her gazete aldiginda sanki Kredi karti limiti 1000 lira gibi görünüyor, sadece Hasilat yükseliyor Kredi kartinin Limiti düsmüyor yoksa benmi hataliyim. Bende hatali olabilirim, dedigim gibi Code&#039; u daha denemedim.
Ayriyeten makaleleriniz cok güzel</description>
		<content:encoded><![CDATA[<p>Benim bir sorum olacakti. Sizin Code&#8217; unuzu denemdim ilk bakista aklima takilan soru. Eger Main methodunu sizin yukardaki gibi yapsak mesela Müsterilerden AhmetUsta diyelim ki büyük bir sitenin kapicisi. Yani AhmetUsta 20 gazete satil almak istese, 20 kere List&#8217; e eklemek gerekiyor. Ve her gazete aldiginda sanki Kredi karti limiti 1000 lira gibi görünüyor, sadece Hasilat yükseliyor Kredi kartinin Limiti düsmüyor yoksa benmi hataliyim. Bende hatali olabilirim, dedigim gibi Code&#8217; u daha denemedim.<br />
Ayriyeten makaleleriniz cok güzel</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kaan oktay</title>
		<link>http://www.cihataltuntas.com/?p=481&#038;cpage=1#comment-562</link>
		<dc:creator>kaan oktay</dc:creator>
		<pubDate>Tue, 10 Mar 2009 14:31:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.cihataltuntas.com/?p=481#comment-562</guid>
		<description>Şu an şoktayım diyebilirim =).Anemic Domain Model kavramını hiç duymamıştım.Java&#039;da herhangi bir sınıf içinden başka bir sınıfın get() ve set() methodlarını çağırmak en büyük zevkimdi.O yüzden size su an hem kızgınım,hem de yanlıştan döndüğüm için müteşekkir =).En büyük zevkimi elimden aldınız =)).</description>
		<content:encoded><![CDATA[<p>Şu an şoktayım diyebilirim =).Anemic Domain Model kavramını hiç duymamıştım.Java&#8217;da herhangi bir sınıf içinden başka bir sınıfın get() ve set() methodlarını çağırmak en büyük zevkimdi.O yüzden size su an hem kızgınım,hem de yanlıştan döndüğüm için müteşekkir =).En büyük zevkimi elimden aldınız =)).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mustafa hakik</title>
		<link>http://www.cihataltuntas.com/?p=481&#038;cpage=1#comment-460</link>
		<dc:creator>mustafa hakik</dc:creator>
		<pubDate>Wed, 11 Feb 2009 17:17:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.cihataltuntas.com/?p=481#comment-460</guid>
		<description>Ellerinize sağlık gerçekten çok güzel ve faydalı bir paylaşım olmuş.</description>
		<content:encoded><![CDATA[<p>Ellerinize sağlık gerçekten çok güzel ve faydalı bir paylaşım olmuş.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tufan Kşkavalcı</title>
		<link>http://www.cihataltuntas.com/?p=481&#038;cpage=1#comment-400</link>
		<dc:creator>Tufan Kşkavalcı</dc:creator>
		<pubDate>Wed, 14 Jan 2009 21:06:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.cihataltuntas.com/?p=481#comment-400</guid>
		<description>yeap :) süper hareketler bunlar.elinize sağlık.</description>
		<content:encoded><![CDATA[<p>yeap <img src='http://www.cihataltuntas.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  süper hareketler bunlar.elinize sağlık.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
