<?xml version="1.0" encoding="iso-8859-1"?><!-- generator="b2evolution/4.0.3" -->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Architecture, Design &#38; Strategy - Latest Comments</title>
		<link>http://blogs.lessthandot.com/index.php/Architect/?disp=comments</link>
		<atom:link rel="self" type="application/rss+xml" href="http://blogs.lessthandot.com/index.php/Architect/?tempskin=_rss2&#38;disp=comments" />
		<description></description>
		<language>en-GB</language>
		<docs>http://backend.userland.com/rss</docs>
		<admin:generatorAgent rdf:resource="http://b2evolution.net/?v=4.0.3"/>
		<ttl>60</ttl>
				<item>
			<title>Eli Weinstock-Herman (tarwn) [Member] in response to: Scalability is Easy! (To Get Wrong)</title>
			<pubDate>Thu, 06 Dec 2012 14:41:37 +0000</pubDate>
			<dc:creator>Eli Weinstock-Herman (tarwn) [Member]</dc:creator>
			<guid isPermaLink="false">c11253@http://blogs.lessthandot.com/</guid>
			<description>Voodoo Child: Been there :)&lt;br /&gt;
&lt;br /&gt;
The whole reason I wrote a simulator for these scenarios was because having conversations about scaling tend to devolve into a lot of hand waving. I&#039;m going to do a couple more posts and post up the code so when people are in similar situations they can at least run some scenarios and make some pretty graphs in excel to bring to the conversation :)</description>
			<content:encoded><![CDATA[Voodoo Child: Been there :)<br />
<br />
The whole reason I wrote a simulator for these scenarios was because having conversations about scaling tend to devolve into a lot of hand waving. I'm going to do a couple more posts and post up the code so when people are in similar situations they can at least run some scenarios and make some pretty graphs in excel to bring to the conversation :)]]></content:encoded>
			<link>http://blogs.lessthandot.com/index.php/Architect/DesigningSoftware/scalability-is-easy-to-get#c11253</link>
		</item>
				<item>
			<title> Voodoo Child [Visitor] in response to: Scalability is Easy! (To Get Wrong)</title>
			<pubDate>Thu, 06 Dec 2012 12:20:08 +0000</pubDate>
			<dc:creator>Voodoo Child [Visitor]</dc:creator>
			<guid isPermaLink="false">c11251@http://blogs.lessthandot.com/</guid>
			<description>The real fun starts when you inherit a critical system which is in serious need of *right* scaling yesterday while too much *wrong* scaling already has been implemented.&lt;br /&gt;
&lt;br /&gt;
Baseline? Numbers? Right after a documented system design.......&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&quot;I didn&#039;t mean to take up all your sweet time, I&#039;ll give it right back to ya one of these days&quot; - Jimmy Hendrix (I suspect he designed the system I&#039;m working on)</description>
			<content:encoded><![CDATA[The real fun starts when you inherit a critical system which is in serious need of *right* scaling yesterday while too much *wrong* scaling already has been implemented.<br />
<br />
Baseline? Numbers? Right after a documented system design.......<br />
<br />
<br />
<br />
"I didn't mean to take up all your sweet time, I'll give it right back to ya one of these days" - Jimmy Hendrix (I suspect he designed the system I'm working on)]]></content:encoded>
			<link>http://blogs.lessthandot.com/index.php/Architect/DesigningSoftware/scalability-is-easy-to-get#c11251</link>
		</item>
				<item>
			<title>Eli Weinstock-Herman (tarwn) [Member] in response to: Scalability is Easy! (To Get Wrong)</title>
			<pubDate>Wed, 05 Dec 2012 15:05:53 +0000</pubDate>
			<dc:creator>Eli Weinstock-Herman (tarwn) [Member]</dc:creator>
			<guid isPermaLink="false">c11247@http://blogs.lessthandot.com/</guid>
			<description>Absolutely, unfortunately that&#039;s not obvious to the people that skip the baseline. I&#039;ve seen a number of developers that had a tendency to make a logical leap from &quot;I code good&quot; to &quot;my code makes the system faster/better/strong/smarter&quot;, which made performing a baseline seem redundant and/or wasteful. &lt;br /&gt;
&lt;br /&gt;
Which is doubly unfortunate, since my anecdotal experiences have shown a strong correlation between skipping the baseline and poor optimization.</description>
			<content:encoded><![CDATA[Absolutely, unfortunately that's not obvious to the people that skip the baseline. I've seen a number of developers that had a tendency to make a logical leap from "I code good" to "my code makes the system faster/better/strong/smarter", which made performing a baseline seem redundant and/or wasteful. <br />
<br />
Which is doubly unfortunate, since my anecdotal experiences have shown a strong correlation between skipping the baseline and poor optimization.]]></content:encoded>
			<link>http://blogs.lessthandot.com/index.php/Architect/DesigningSoftware/scalability-is-easy-to-get#c11247</link>
		</item>
				<item>
			<title>SQLDenis [Member] in response to: Scalability is Easy! (To Get Wrong)</title>
			<pubDate>Wed, 05 Dec 2012 13:23:08 +0000</pubDate>
			<dc:creator>SQLDenis [Member]</dc:creator>
			<guid isPermaLink="false">c11244@http://blogs.lessthandot.com/</guid>
			<description>Without a baseline and numbers it basically becomes voodoo</description>
			<content:encoded><![CDATA[Without a baseline and numbers it basically becomes voodoo]]></content:encoded>
			<link>http://blogs.lessthandot.com/index.php/Architect/DesigningSoftware/scalability-is-easy-to-get#c11244</link>
		</item>
				<item>
			<title> Giorgi [Visitor] in response to: Model-View-Presenter: Looking at Passive View</title>
			<pubDate>Wed, 28 Nov 2012 08:25:21 +0000</pubDate>
			<dc:creator>Giorgi [Visitor]</dc:creator>
			<guid isPermaLink="false">c11198@http://blogs.lessthandot.com/</guid>
			<description>Hi, &lt;br /&gt;
&lt;br /&gt;
Isn&#039;t there any tool that would generate all the necessary code? The common functionality could be hidden in base classes but some code needs to be written again and again, and that&#039;s not quite &quot;cool&quot; :)</description>
			<content:encoded><![CDATA[Hi, <br />
<br />
Isn't there any tool that would generate all the necessary code? The common functionality could be hidden in base classes but some code needs to be written again and again, and that's not quite "cool" :)]]></content:encoded>
			<link>http://blogs.lessthandot.com/index.php/Architect/DesigningSoftware/model-view-presenter-looking-at-passive#c11198</link>
		</item>
				<item>
			<title>Alex Ullrich [Member] in response to: Getting Flexible With NDepend 4 and CQLinq</title>
			<pubDate>Wed, 06 Jun 2012 13:03:29 +0000</pubDate>
			<dc:creator>Alex Ullrich [Member]</dc:creator>
			<guid isPermaLink="false">c10338@http://blogs.lessthandot.com/</guid>
			<description>I can&#039;t say it was trivial (though our full build was pretty involved, took ~25 minutes if we were generating an MSI) but it was *much* faster than the visual studio architecture analysis (and provided much more information).  We used a separate build configuration for architecture validation that ran around 2am, mostly because we first tried using the tremendously slow visual studio tool and didn&#039;t want each build taking 45 minutes.&lt;br /&gt;
&lt;br /&gt;
The codebase in question was probably between half and three-quarters of a million lines split into 30+ projects.  I never saw an ad-hoc analysis take more than 2-2 1/2 minutes and this was running on our spare machines that were *very* underpowered.  I would expect it ran much faster than that on our build server, and that NDepend 4 would be at least incrementally faster than 3.</description>
			<content:encoded><![CDATA[I can't say it was trivial (though our full build was pretty involved, took ~25 minutes if we were generating an MSI) but it was *much* faster than the visual studio architecture analysis (and provided much more information).  We used a separate build configuration for architecture validation that ran around 2am, mostly because we first tried using the tremendously slow visual studio tool and didn't want each build taking 45 minutes.<br />
<br />
The codebase in question was probably between half and three-quarters of a million lines split into 30+ projects.  I never saw an ad-hoc analysis take more than 2-2 1/2 minutes and this was running on our spare machines that were *very* underpowered.  I would expect it ran much faster than that on our build server, and that NDepend 4 would be at least incrementally faster than 3.]]></content:encoded>
			<link>http://blogs.lessthandot.com/index.php/Architect/DesigningSoftware/getting-flexible-with-ndepend-4-and-cqlinq#c10338</link>
		</item>
				<item>
			<title>Eli Weinstock-Herman (tarwn) [Member] in response to: Getting Flexible With NDepend 4 and CQLinq</title>
			<pubDate>Wed, 06 Jun 2012 12:36:05 +0000</pubDate>
			<dc:creator>Eli Weinstock-Herman (tarwn) [Member]</dc:creator>
			<guid isPermaLink="false">c10337@http://blogs.lessthandot.com/</guid>
			<description>How much of an impact did running NDepend have on your overall build time? I&#039;ve played with it in the past, but only as manual runs.</description>
			<content:encoded><![CDATA[How much of an impact did running NDepend have on your overall build time? I've played with it in the past, but only as manual runs.]]></content:encoded>
			<link>http://blogs.lessthandot.com/index.php/Architect/DesigningSoftware/getting-flexible-with-ndepend-4-and-cqlinq#c10337</link>
		</item>
				<item>
			<title> Hari Subramaniam [Visitor] in response to: The law of demeter</title>
			<pubDate>Mon, 01 Aug 2011 09:08:48 +0000</pubDate>
			<dc:creator>Hari Subramaniam [Visitor]</dc:creator>
			<guid isPermaLink="false">c8703@http://blogs.lessthandot.com/</guid>
			<description>I wonder why LoD isnt applicable for Fluent interfaces?</description>
			<content:encoded><![CDATA[I wonder why LoD isnt applicable for Fluent interfaces?]]></content:encoded>
			<link>http://blogs.lessthandot.com/index.php/Architect/IntroductionArchitectureDesign/the-law-of-demeter#c8703</link>
		</item>
				<item>
			<title>Eli Weinstock-Herman (tarwn) [Member] in response to: Model-View-Presenter: Looking at Passive View</title>
			<pubDate>Fri, 20 May 2011 08:25:25 +0000</pubDate>
			<dc:creator>Eli Weinstock-Herman (tarwn) [Member]</dc:creator>
			<guid isPermaLink="false">c8359@http://blogs.lessthandot.com/</guid>
			<description>Funny, my issue with MVC is that it is so data entity specific that I felt it could only handle a subset of interfaces compared to something like MVP or MVVM, perhaps it depends on our perspective a bit.&lt;br /&gt;
&lt;br /&gt;
I&#039;m having difficulty understanding why we would need a dynamic number of rows in the dialog when we are editing the equivalent of a record in the database with a given number of columns. Ignoring that, though, I believe what I would do in this situation is pass a an ordered key/value set to the view property that drives the dialog. That way the dialog can dynamically build the proper number of rows to edit my object. &lt;br /&gt;
&lt;br /&gt;
The major difference between Passive View and MVC model-&gt;view communications is that in MVC the controller handles input from the user, but the view retrieves the data to display as output. In Passive View the same decision logic occurs, but handling the input and retrieving the output to display both happen in the Presenter. MVC&#039;s view is smarter, but the view exposed in Passive View can easily be implemented by a number of interfaces (json, web service, test class) and a greater portion of the logic is now unit testable.&lt;br /&gt;
&lt;br /&gt;</description>
			<content:encoded><![CDATA[Funny, my issue with MVC is that it is so data entity specific that I felt it could only handle a subset of interfaces compared to something like MVP or MVVM, perhaps it depends on our perspective a bit.<br />
<br />
I'm having difficulty understanding why we would need a dynamic number of rows in the dialog when we are editing the equivalent of a record in the database with a given number of columns. Ignoring that, though, I believe what I would do in this situation is pass a an ordered key/value set to the view property that drives the dialog. That way the dialog can dynamically build the proper number of rows to edit my object. <br />
<br />
The major difference between Passive View and MVC model->view communications is that in MVC the controller handles input from the user, but the view retrieves the data to display as output. In Passive View the same decision logic occurs, but handling the input and retrieving the output to display both happen in the Presenter. MVC's view is smarter, but the view exposed in Passive View can easily be implemented by a number of interfaces (json, web service, test class) and a greater portion of the logic is now unit testable.<br />
<br />]]></content:encoded>
			<link>http://blogs.lessthandot.com/index.php/Architect/DesigningSoftware/model-view-presenter-looking-at-passive#c8359</link>
		</item>
				<item>
			<title> Oliver Watkins [Visitor] in response to: Model-View-Presenter: Looking at Passive View</title>
			<pubDate>Fri, 20 May 2011 06:08:38 +0000</pubDate>
			<dc:creator>Oliver Watkins [Visitor]</dc:creator>
			<guid isPermaLink="false">c8358@http://blogs.lessthandot.com/</guid>
			<description>Hi,&lt;br /&gt;
&lt;br /&gt;
I have some issues to take up with the MVP pattern. MVP seems to be a valid architecture for only simple GUI interfaces.&lt;br /&gt;
&lt;br /&gt;
The fact that the model is completely seperated from the view brings up some problems that seem impossible to solve without going back to MVC.&lt;br /&gt;
&lt;br /&gt;
Consider : I have a table with X columns. I now want to build a component that is a dialog where I can edit the values in the table. In this dialog I want to have X rows (a label and text field), where I can perform editing, close it, then the table updates.&lt;br /&gt;
&lt;br /&gt;
The problem is, the View needs to know about the model in order to generate the correct number of rows. There is no way to do this without the view knowing about the model.. we could create some intermediary &#039;model-proxy&#039;, but then we are really fluffing things up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description>
			<content:encoded><![CDATA[Hi,<br />
<br />
I have some issues to take up with the MVP pattern. MVP seems to be a valid architecture for only simple GUI interfaces.<br />
<br />
The fact that the model is completely seperated from the view brings up some problems that seem impossible to solve without going back to MVC.<br />
<br />
Consider : I have a table with X columns. I now want to build a component that is a dialog where I can edit the values in the table. In this dialog I want to have X rows (a label and text field), where I can perform editing, close it, then the table updates.<br />
<br />
The problem is, the View needs to know about the model in order to generate the correct number of rows. There is no way to do this without the view knowing about the model.. we could create some intermediary 'model-proxy', but then we are really fluffing things up.<br />
<br />
<br />
<br />]]></content:encoded>
			<link>http://blogs.lessthandot.com/index.php/Architect/DesigningSoftware/model-view-presenter-looking-at-passive#c8358</link>
		</item>
			</channel>
</rss>
