<?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: Modularity via Bottles &#8211; Continued</title>
	<atom:link href="http://lostechies.com/josharnold/2011/10/11/modularity-via-bottles-continued/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/josharnold/2011/10/11/modularity-via-bottles-continued/</link>
	<description>Startups, open source, and coffee.</description>
	<lastBuildDate>Mon, 20 May 2013 20:00:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: Anonymous</title>
		<link>http://lostechies.com/josharnold/2011/10/11/modularity-via-bottles-continued/#comment-93</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Thu, 13 Oct 2011 04:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/josharnold/?p=123#comment-93</guid>
		<description>@JayWSmith:disqus I&#039;m going to try and answer this question carefully as I am NOT intending to speak ill of any of the alternatives that you mentioned.

Here&#039;s the bottom line: ASP.NET MVC was not and is not built around highly compositional concepts. Therefore, your extensibility points are limited. They may work great for most teams but they limit you in what you can accomplish. As such, PortableAreas never really made it that far. MvcTurbine comes a LOT closer to what we&#039;re trying to accomplish.

Let me put it this way: If you used Bottles in ASP.NET MVC, you&#039;d get DI-enabled Blade implementations (from the limited knowledge that I have of Blades) + PortableAreas. You probably wouldn&#039;t get much else than that.

We get much more bang for our buck in FubuMVC because the framework is designed around a semantic model that can be modified by Bottles (and anything else for that matter). So not only can you extend an application with a reusable block of functionality, you can modify existing functionality (e.g., add validation to all routes, switch all POST routes to serialize their results to JSON). The options really become limitless.</description>
		<content:encoded><![CDATA[<p>@JayWSmith:disqus I&#8217;m going to try and answer this question carefully as I am NOT intending to speak ill of any of the alternatives that you mentioned.</p>
<p>Here&#8217;s the bottom line: ASP.NET MVC was not and is not built around highly compositional concepts. Therefore, your extensibility points are limited. They may work great for most teams but they limit you in what you can accomplish. As such, PortableAreas never really made it that far. MvcTurbine comes a LOT closer to what we&#8217;re trying to accomplish.</p>
<p>Let me put it this way: If you used Bottles in ASP.NET MVC, you&#8217;d get DI-enabled Blade implementations (from the limited knowledge that I have of Blades) + PortableAreas. You probably wouldn&#8217;t get much else than that.</p>
<p>We get much more bang for our buck in FubuMVC because the framework is designed around a semantic model that can be modified by Bottles (and anything else for that matter). So not only can you extend an application with a reusable block of functionality, you can modify existing functionality (e.g., add validation to all routes, switch all POST routes to serialize their results to JSON). The options really become limitless.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://lostechies.com/josharnold/2011/10/11/modularity-via-bottles-continued/#comment-92</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Wed, 12 Oct 2011 14:03:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/josharnold/?p=123#comment-92</guid>
		<description>How does this compare to MvcContrib&#039;s PortableAreas, or MVC Turbine&#039;s blades?

I am looking for a modular approach to creating MVC applications, especially in regards to pieces that are common accrose application.  ie user management and security, etc.</description>
		<content:encoded><![CDATA[<p>How does this compare to MvcContrib&#8217;s PortableAreas, or MVC Turbine&#8217;s blades?</p>
<p>I am looking for a modular approach to creating MVC applications, especially in regards to pieces that are common accrose application.  ie user management and security, etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://lostechies.com/josharnold/2011/10/11/modularity-via-bottles-continued/#comment-91</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Wed, 12 Oct 2011 03:41:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/josharnold/?p=123#comment-91</guid>
		<description>@openid-74926:disqus Jeremy&#039;s team made heavy use of extension properties: http://codebetter.com/jeremymiller/2010/02/16/our-extension-properties-story/

These extensions could then be loaded into your configuration via an IActivator. 

You could also hook into your ORM&#039;s configuration by loading additional mappings from an IActivator. For example, you could have an entire new set of entities and screens in a bottle.

FubuFastPack has some of this infrastructure in place and could serve as a good reference point for you. And of course, there&#039;s always the mailing list :)</description>
		<content:encoded><![CDATA[<p>@openid-74926:disqus Jeremy&#8217;s team made heavy use of extension properties: http://codebetter.com/jeremymiller/2010/02/16/our-extension-properties-story/</p>
<p>These extensions could then be loaded into your configuration via an IActivator. </p>
<p>You could also hook into your ORM&#8217;s configuration by loading additional mappings from an IActivator. For example, you could have an entire new set of entities and screens in a bottle.</p>
<p>FubuFastPack has some of this infrastructure in place and could serve as a good reference point for you. And of course, there&#8217;s always the mailing list <img src='http://lostechies.com/josharnold/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Sollars</title>
		<link>http://lostechies.com/josharnold/2011/10/11/modularity-via-bottles-continued/#comment-90</link>
		<dc:creator>Matt Sollars</dc:creator>
		<pubDate>Tue, 11 Oct 2011 13:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/josharnold/?p=123#comment-90</guid>
		<description>Nice, Josh. I am very interested to hear more on Bottles and how it has been used to make customizations to an existing website product for an individual customer (Jeremy mentioned that Dovetail used it for this).

However, the thing I&#039;m most fuzzy on is how you would augment business logic in your domain entities with a Bottles package. Would I need to change how I configure my ORM, so it could return a different entity descendant if a package was loaded?</description>
		<content:encoded><![CDATA[<p>Nice, Josh. I am very interested to hear more on Bottles and how it has been used to make customizations to an existing website product for an individual customer (Jeremy mentioned that Dovetail used it for this).</p>
<p>However, the thing I&#8217;m most fuzzy on is how you would augment business logic in your domain entities with a Bottles package. Would I need to change how I configure my ORM, so it could return a different entity descendant if a package was loaded?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
