<?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>Kommentare für ASP.extra von Karsten Samaschke</title>
	<atom:link href="http://www.aspextra.de/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aspextra.de</link>
	<description>Karsten Samaschkes Blog rund um .NET, Java und Webtechnologien</description>
	<lastBuildDate>Mon, 03 May 2010 12:24:56 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Kommentar zu #Handwerk: Clean vs. pragmatisch? von ksamaschke</title>
		<link>http://www.aspextra.de/2010/05/03/handwerk-clean-vs-pragmatisch/comment-page-1/#comment-37</link>
		<dc:creator>ksamaschke</dc:creator>
		<pubDate>Mon, 03 May 2010 12:24:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.aspextra.de/2010/05/03/handwerk-clean-vs-pragmatisch/#comment-37</guid>
		<description>Gegen Exceptions habe ich überhaupt nix einzuwenden - in dem beschriebenen Szenario würde ich allerdings Richtung Null-Objekt tendieren, da ich mit dem einfach weiterarbeiten kann und mir im Grunde sämtliche Abfragen auf den Status sparen könnte. 

Wobei das eben wirklich extrem von der Anforderung abhängt - ich kann mir wundervoll auch eine Exception vorstellen, die entsprechend abgefangen bzw. erklärt auch eine Lösung wäre. Da allerdings komme ich wieder zu meinem Problem mit den nicht vorhandenen Checked-Exceptions, weil die API bei .NET eben nirgendwo sagt, dass hier eine Exception kommen könnte. Das wiederum wäre dann ein Verstoß gegen die Vorhersagbarkeit von Code-Verhalten und würde erfordern, dass ich außerhalb des Layers über Interna bescheid wüsste (oder mir die Exception-Annotierung der Methode ansehen müsste). Ich wäre also nicht gezwungen, mit einer Exception zu rechnen. Fände ich insofern wieder inkonsequent.</description>
		<content:encoded><![CDATA[<p>Gegen Exceptions habe ich überhaupt nix einzuwenden &#8211; in dem beschriebenen Szenario würde ich allerdings Richtung Null-Objekt tendieren, da ich mit dem einfach weiterarbeiten kann und mir im Grunde sämtliche Abfragen auf den Status sparen könnte. </p>
<p>Wobei das eben wirklich extrem von der Anforderung abhängt &#8211; ich kann mir wundervoll auch eine Exception vorstellen, die entsprechend abgefangen bzw. erklärt auch eine Lösung wäre. Da allerdings komme ich wieder zu meinem Problem mit den nicht vorhandenen Checked-Exceptions, weil die API bei .NET eben nirgendwo sagt, dass hier eine Exception kommen könnte. Das wiederum wäre dann ein Verstoß gegen die Vorhersagbarkeit von Code-Verhalten und würde erfordern, dass ich außerhalb des Layers über Interna bescheid wüsste (oder mir die Exception-Annotierung der Methode ansehen müsste). Ich wäre also nicht gezwungen, mit einer Exception zu rechnen. Fände ich insofern wieder inkonsequent.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu #Handwerk: Clean vs. pragmatisch? von Jürgen Gutsch : Katastrophenfall ‘NULL’?</title>
		<link>http://www.aspextra.de/2010/05/03/handwerk-clean-vs-pragmatisch/comment-page-1/#comment-36</link>
		<dc:creator>Jürgen Gutsch : Katastrophenfall ‘NULL’?</dc:creator>
		<pubDate>Mon, 03 May 2010 11:29:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.aspextra.de/2010/05/03/handwerk-clean-vs-pragmatisch/#comment-36</guid>
		<description>[...] [UPDATE] Eben hat sich auch der Karsten zum Thema geäußert: #Handwerk: Clean vs. pragmatisch? [...]</description>
		<content:encoded><![CDATA[<p>[...] [UPDATE] Eben hat sich auch der Karsten zum Thema geäußert: #Handwerk: Clean vs. pragmatisch? [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu #Handwerk: Clean vs. pragmatisch? von Carsti</title>
		<link>http://www.aspextra.de/2010/05/03/handwerk-clean-vs-pragmatisch/comment-page-1/#comment-35</link>
		<dc:creator>Carsti</dc:creator>
		<pubDate>Mon, 03 May 2010 10:14:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.aspextra.de/2010/05/03/handwerk-clean-vs-pragmatisch/#comment-35</guid>
		<description>Ich glaube weiterhin, das speziell diese Diskussion durch das falsche Verständnis von Exceptions gefüttert wird. Das sich sicherlich historisch kontaminiert, aus den Zeiten, da Exeptions in C++ extrem &quot;teuer&quot; waren, und man eigentlich immer davor zurück geschreckt ist, sie zu implementieren. Ich habe meine ersten Schritte mit Exceptions seinerzeit mit Ada95 gemacht, das erleichtert mir das Leben vielleicht.</description>
		<content:encoded><![CDATA[<p>Ich glaube weiterhin, das speziell diese Diskussion durch das falsche Verständnis von Exceptions gefüttert wird. Das sich sicherlich historisch kontaminiert, aus den Zeiten, da Exeptions in C++ extrem &#8220;teuer&#8221; waren, und man eigentlich immer davor zurück geschreckt ist, sie zu implementieren. Ich habe meine ersten Schritte mit Exceptions seinerzeit mit Ada95 gemacht, das erleichtert mir das Leben vielleicht.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu #Handwerk: Clean vs. pragmatisch? von Tweets die #Handwerk: Clean vs. pragmatisch? - ASP.extra von Karsten Samaschke erwähnt -- Topsy.com</title>
		<link>http://www.aspextra.de/2010/05/03/handwerk-clean-vs-pragmatisch/comment-page-1/#comment-34</link>
		<dc:creator>Tweets die #Handwerk: Clean vs. pragmatisch? - ASP.extra von Karsten Samaschke erwähnt -- Topsy.com</dc:creator>
		<pubDate>Mon, 03 May 2010 09:43:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.aspextra.de/2010/05/03/handwerk-clean-vs-pragmatisch/#comment-34</guid>
		<description>[...] Dieser Eintrag wurde auf Twitter von Thomas Bandt, Karsten Samaschke erwähnt. Karsten Samaschke sagte: #Handwerk: Clean vs. pragmatisch?: Am Beispiel von Thomas’ Blogbeitrag “Null Verständnis” kann man wunderschön zwe... http://bit.ly/aJlxpY [...]</description>
		<content:encoded><![CDATA[<p>[...] Dieser Eintrag wurde auf Twitter von Thomas Bandt, Karsten Samaschke erwähnt. Karsten Samaschke sagte: #Handwerk: Clean vs. pragmatisch?: Am Beispiel von Thomas’ Blogbeitrag “Null Verständnis” kann man wunderschön zwe&#8230; <a href="http://bit.ly/aJlxpY" rel="nofollow">http://bit.ly/aJlxpY</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu #TIPP: #Fluent #Interfaces von Philipp Cordes</title>
		<link>http://www.aspextra.de/2009/07/29/tipp-fluent-interfaces/comment-page-1/#comment-21</link>
		<dc:creator>Philipp Cordes</dc:creator>
		<pubDate>Fri, 18 Sep 2009 05:27:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.aspextra.de/2009/07/29/tipp-fluent-interfaces.html#comment-21</guid>
		<description>Hallo an alle,

ich habe mich im Zuge meiner Bachelorarbeit mit dem Thema der Fluent Interfaces etwas intensiver beschäftigt. Die Art wie du das Fluent Interface verwendet hast findet man ganz häufig und ist sicher auch am schnellsten implementiert. Aber man kann mit Fluent Interfaces noch viel mehr machen. Man kann Schnittstellen bauen die sich beinah von selbst erklären und kaum falsch verwendet werden können. Was ist zum Beispiel, wenn du möchtest, dass die Methoden in einer bestimmten Reihenfolge aufgerufen werden oder dass bestimmte Methoden immer aufgerufen werden?

Du könntest so z.B. nie einen Satz erzwingen der in etwa so aussieht:

polyogn().with(punkt(1,1)).and(punkt(2,2);

Damit der Benutzer des Fluent Interface nach &quot;polygon()&quot; nur &quot;with()&quot; aufrufen kann, müssen wir hier einen Typen zurück liefern, der auch nur die Methode bereitstellt. Das gleiche gilt auch für &quot;with&quot; und &quot;and&quot;. Man erstellt so einer Art Geflecht von Typen. Bei größeren Fluent Interfaces ist das natürlich sehr aufwändig. Darum habe ich einen Tool gebaut mit dem man Fluent Interfaces in Form eines Diagrammes erstellen kann aus dem dann der nötige Code generiert wird. Zwar kann derzeit nur Java-Code generiert werden aber es ist kein Problem das ganze auch für C# oder ähnliches anzupassen. Das geht sogar relativ schnell.

Unter &lt;a href=&quot;http://www.fluent-interfaces.com&quot;http://www.fluent-interfaces.com findet ihr mehr.</description>
		<content:encoded><![CDATA[<p>Hallo an alle,</p>
<p>ich habe mich im Zuge meiner Bachelorarbeit mit dem Thema der Fluent Interfaces etwas intensiver beschäftigt. Die Art wie du das Fluent Interface verwendet hast findet man ganz häufig und ist sicher auch am schnellsten implementiert. Aber man kann mit Fluent Interfaces noch viel mehr machen. Man kann Schnittstellen bauen die sich beinah von selbst erklären und kaum falsch verwendet werden können. Was ist zum Beispiel, wenn du möchtest, dass die Methoden in einer bestimmten Reihenfolge aufgerufen werden oder dass bestimmte Methoden immer aufgerufen werden?</p>
<p>Du könntest so z.B. nie einen Satz erzwingen der in etwa so aussieht:</p>
<p>polyogn().with(punkt(1,1)).and(punkt(2,2);</p>
<p>Damit der Benutzer des Fluent Interface nach &#8220;polygon()&#8221; nur &#8220;with()&#8221; aufrufen kann, müssen wir hier einen Typen zurück liefern, der auch nur die Methode bereitstellt. Das gleiche gilt auch für &#8220;with&#8221; und &#8220;and&#8221;. Man erstellt so einer Art Geflecht von Typen. Bei größeren Fluent Interfaces ist das natürlich sehr aufwändig. Darum habe ich einen Tool gebaut mit dem man Fluent Interfaces in Form eines Diagrammes erstellen kann aus dem dann der nötige Code generiert wird. Zwar kann derzeit nur Java-Code generiert werden aber es ist kein Problem das ganze auch für C# oder ähnliches anzupassen. Das geht sogar relativ schnell.</p>
<p>Unter &lt;a href=&quot;http://www.fluent-interfaces.com&quot;http://www.fluent-interfaces.com findet ihr mehr.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu #TIPP: #Fluent #Interfaces von Philipp Cordes</title>
		<link>http://www.aspextra.de/2009/07/29/tipp-fluent-interfaces/comment-page-1/#comment-20</link>
		<dc:creator>Philipp Cordes</dc:creator>
		<pubDate>Tue, 18 Aug 2009 22:13:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.aspextra.de/2009/07/29/tipp-fluent-interfaces.html#comment-20</guid>
		<description>Hi,

Hi,

ich habe mich im Zuge meiner Bachelorarbeit mit dem Thema beschäftigt. Das Prinzip nach dem du hier Fluent Interfaces beschrieben hast kann man noch so erweitern, dass diese nicht nur als Konfigurator-Objekt verwendet werden können. Das eigentlich schöne an einem Fluent Interface ist ja, dass es sich so gut wie selbst erklärt. Man kann sofort ohne Dokumentation erkennen wofür die einzelnen Parameter da sind. Aber was wenn man vielleicht möchte, dass die Methoden nur in einer bestimmten Reihenfolge aufgerufen werden dürfen oder ganz bestimmte Methoden immer aufgerufen werden müssen? Das würde dem Benutzer eines Fluent Interfaces davor bewahren, dass Fluent Interface falsch zu benutzen. Aber ein entsprechendes Fluent Interface zu erstellen ist wesentlich aufwändiger. Und genau hier setzt meine Bachelorarbeit an. Ich habe versucht das Erstellen von Fluent Interfaces so weit wie möglich zu erleichtern. Mit Hilfe eines Modellers ist es nun möglich Fluent Interfaces in Diagrammen zu modellieren aus denen dann direkt der Programm-Code generiert werden kann.

Schaut mal einfach unter: http://www.fluent-interfaces.com

Zwar wird zur Zeit nur Java-Code generiert, aber das ganze ist so konzipiert, dass man schnell auf eine andere Sprache umsteigen kann.

Grüße
Philipp</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>Hi,</p>
<p>ich habe mich im Zuge meiner Bachelorarbeit mit dem Thema beschäftigt. Das Prinzip nach dem du hier Fluent Interfaces beschrieben hast kann man noch so erweitern, dass diese nicht nur als Konfigurator-Objekt verwendet werden können. Das eigentlich schöne an einem Fluent Interface ist ja, dass es sich so gut wie selbst erklärt. Man kann sofort ohne Dokumentation erkennen wofür die einzelnen Parameter da sind. Aber was wenn man vielleicht möchte, dass die Methoden nur in einer bestimmten Reihenfolge aufgerufen werden dürfen oder ganz bestimmte Methoden immer aufgerufen werden müssen? Das würde dem Benutzer eines Fluent Interfaces davor bewahren, dass Fluent Interface falsch zu benutzen. Aber ein entsprechendes Fluent Interface zu erstellen ist wesentlich aufwändiger. Und genau hier setzt meine Bachelorarbeit an. Ich habe versucht das Erstellen von Fluent Interfaces so weit wie möglich zu erleichtern. Mit Hilfe eines Modellers ist es nun möglich Fluent Interfaces in Diagrammen zu modellieren aus denen dann direkt der Programm-Code generiert werden kann.</p>
<p>Schaut mal einfach unter: <a href="http://www.fluent-interfaces.com" rel="nofollow">http://www.fluent-interfaces.com</a></p>
<p>Zwar wird zur Zeit nur Java-Code generiert, aber das ganze ist so konzipiert, dass man schnell auf eine andere Sprache umsteigen kann.</p>
<p>Grüße<br />
Philipp</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu #TIPP: #Fluent #Interfaces von ksamaschke</title>
		<link>http://www.aspextra.de/2009/07/29/tipp-fluent-interfaces/comment-page-1/#comment-9</link>
		<dc:creator>ksamaschke</dc:creator>
		<pubDate>Thu, 30 Jul 2009 12:45:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.aspextra.de/2009/07/29/tipp-fluent-interfaces.html#comment-9</guid>
		<description>@Albert: Ist eingebaut. Das &quot;Set&quot; lasse ich mal drin, das ist ja eher Geschmackssache. :-)</description>
		<content:encoded><![CDATA[<p>@Albert: Ist eingebaut. Das &#8220;Set&#8221; lasse ich mal drin, das ist ja eher Geschmackssache. <img src='http://www.aspextra.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu #TIPP: #Fluent #Interfaces von Albert Weinert</title>
		<link>http://www.aspextra.de/2009/07/29/tipp-fluent-interfaces/comment-page-1/#comment-8</link>
		<dc:creator>Albert Weinert</dc:creator>
		<pubDate>Wed, 29 Jul 2009 16:56:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.aspextra.de/2009/07/29/tipp-fluent-interfaces.html#comment-8</guid>
		<description>Kleine Anmerkung.

Die Verwendung von &quot;Set&quot; bei den Methoden-Namen ist meines Erachtens unnötig und stört auch den Lesefluss.

config.Text(&quot;Hallo, Welt&quot;).Height(20).Width(40).Execute();

Desweiteren wäre ein kleiner Hinweis auf ein

return this;

der bei jeder Fluent-Methoden Implementierung notwendig ist hilfreich.</description>
		<content:encoded><![CDATA[<p>Kleine Anmerkung.</p>
<p>Die Verwendung von &#8220;Set&#8221; bei den Methoden-Namen ist meines Erachtens unnötig und stört auch den Lesefluss.</p>
<p>config.Text(&#8220;Hallo, Welt&#8221;).Height(20).Width(40).Execute();</p>
<p>Desweiteren wäre ein kleiner Hinweis auf ein</p>
<p>return this;</p>
<p>der bei jeder Fluent-Methoden Implementierung notwendig ist hilfreich.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu #TIPP: #Fluent #Interfaces von klaus_b</title>
		<link>http://www.aspextra.de/2009/07/29/tipp-fluent-interfaces/comment-page-1/#comment-7</link>
		<dc:creator>klaus_b</dc:creator>
		<pubDate>Wed, 29 Jul 2009 14:56:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.aspextra.de/2009/07/29/tipp-fluent-interfaces.html#comment-7</guid>
		<description>Kann mich Thomas nur anschließen; Top erklärt.</description>
		<content:encoded><![CDATA[<p>Kann mich Thomas nur anschließen; Top erklärt.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu #TIPP: #Fluent #Interfaces von Thomas</title>
		<link>http://www.aspextra.de/2009/07/29/tipp-fluent-interfaces/comment-page-1/#comment-6</link>
		<dc:creator>Thomas</dc:creator>
		<pubDate>Wed, 29 Jul 2009 14:16:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.aspextra.de/2009/07/29/tipp-fluent-interfaces.html#comment-6</guid>
		<description>Sehr schön erklärt :-)</description>
		<content:encoded><![CDATA[<p>Sehr schön erklärt <img src='http://www.aspextra.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Kommentar zu #Meinung: Warum Checked Exceptions in .NET fehlen von Stefan Falz</title>
		<link>http://www.aspextra.de/2009/07/10/warum-checked-exceptions-in-net-fehlen/comment-page-1/#comment-2</link>
		<dc:creator>Stefan Falz</dc:creator>
		<pubDate>Fri, 10 Jul 2009 13:22:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.aspextra.de/2009/07/10/warum-checked-exceptions-in-net-fehlen.html#comment-2</guid>
		<description>Machst dem Untertitel des Blog ja alle Ehre :) Nerdig isser, der Artikel^^
 
Im Grunde genommen stimme ich Dir zu. Allerdings sehe ich es etwas gelassener, da ich mein ExceptionHandling, wie so vieles andere, was mir die letzten Jahre fehlte, schon lange selbst so gebaut habe, dass es meinen Ansprüchen genügt :) Von daher ist mir das relativ wurscht, ob sich das kompilieren lässt oder nicht. Natürlich wäre es wünschenswert aber ich kann die Argumente, ehrlich gesagt, gut nachvollziehen. Viele machen sich wenig Gedanken um Exceptions und deren Behandlung, da wird einfach Catch e As Exception -&gt; Do nothing geschrieben und gut ist. Nicht schön, aber effektiv (und sorgt für Arbeit, wenn die Anwendung dann irgendwann mal nicht mehr rund läuft und sie einen Spezialisten brauchen, der schaut, warum das denn so ist :)</description>
		<content:encoded><![CDATA[<p>Machst dem Untertitel des Blog ja alle Ehre <img src='http://www.aspextra.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Nerdig isser, der Artikel^^</p>
<p>Im Grunde genommen stimme ich Dir zu. Allerdings sehe ich es etwas gelassener, da ich mein ExceptionHandling, wie so vieles andere, was mir die letzten Jahre fehlte, schon lange selbst so gebaut habe, dass es meinen Ansprüchen genügt <img src='http://www.aspextra.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Von daher ist mir das relativ wurscht, ob sich das kompilieren lässt oder nicht. Natürlich wäre es wünschenswert aber ich kann die Argumente, ehrlich gesagt, gut nachvollziehen. Viele machen sich wenig Gedanken um Exceptions und deren Behandlung, da wird einfach Catch e As Exception -&gt; Do nothing geschrieben und gut ist. Nicht schön, aber effektiv (und sorgt für Arbeit, wenn die Anwendung dann irgendwann mal nicht mehr rund läuft und sie einen Spezialisten brauchen, der schaut, warum das denn so ist <img src='http://www.aspextra.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
