<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Panes of Glass &#187; .NET</title>
	<atom:link href="http://panesofglass.org/tag/net/feed/" rel="self" type="application/rss+xml" />
	<link>http://panesofglass.org</link>
	<description></description>
	<lastBuildDate>Thu, 05 Jan 2012 05:00:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3-aortic-dissection</generator>
		<item>
		<title>WPF DataBinding: Refreshing from Source</title>
		<link>http://panesofglass.org/software/wpf-databinding-refreshing-from-the-source/</link>
		<comments>http://panesofglass.org/software/wpf-databinding-refreshing-from-the-source/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 02:40:55 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[DataBinding]]></category>
		<category><![CDATA[design patterns]]></category>
		<category><![CDATA[Linq]]></category>
		<category><![CDATA[PresentationModel]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://panesofglass.org/?p=346</guid>
		<description><![CDATA[WPF DataBinding is terrific and allows for very passive views and easy source object updates. However, triggering updates in the view based on changes in &#8230;]]></description>
			<content:encoded><![CDATA[<p><abbr title="Windows Presentation Foundation">WPF</abbr> <a href="http://blogs.msdn.com/wpfsdk/archive/2006/10/19/wpf-basic-data-binding-faq.aspx">DataBinding</a> is terrific and allows for very passive views and easy source object updates. However, triggering updates in the view based on changes in the source object can be a little tricky.</p>
<p>If you want to make sure changes to your source object are reflected in your view, your source object will need to implement <a href="http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx">INotifyPropertyChanged</a> (<a href="http://blogs.msdn.com/wpfsdk/archive/2006/10/19/wpf-basic-data-binding-faq.aspx">see example</a>). Yet just implementing this property will not necessarily update your bindings. If your source object includes collections, and you bind to properties in those collections, you can update the source property but will not get updates from the source property, even if it is of a type that implements INotifyPropertyChanged.</p>
<p>The above scenario is common with <a href="http://msdn.microsoft.com/en-us/library/bb386976.aspx">Linq to Sql</a> when the entities are generated for you. Even tables with one-to-one mappings will be generated with lists&#8211;as SQL doesn&#8217;t have a way of representing one-to-one relationships&#8211;so be sure to edit your dbml accordingly in order to take advantage of binding to your source object&#8217;s properties. (You might also consider removing some relationships to remove issues with DataContext collisions when trying to set properties of one Linq entity to another.)</p>
<p>If you can&#8217;t fix the problem this way or want to display the collection and changes to the collection, you can always add an <a href="http://msdn.microsoft.com/en-us/library/ms668604.aspx">ObservableCollection</a> to your <a href="http://panesofglass.org/personal/rriley1/Blog/Lists/Posts/Post.aspx?ID=7">PresentationModel</a> or wrap the source object with another object that does use the ObservableCollection to display your collection.</p>
]]></content:encoded>
			<wfw:commentRss>http://panesofglass.org/software/wpf-databinding-refreshing-from-the-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Macro- vs. Micro-MVC Architectures</title>
		<link>http://panesofglass.org/software/macro-vs-micro-mvc-architectures/</link>
		<comments>http://panesofglass.org/software/macro-vs-micro-mvc-architectures/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 03:19:46 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[SOAP]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[XForms]]></category>
		<category><![CDATA[XQuery]]></category>

		<guid isPermaLink="false">http://www.panesofglass.org/software-tech/xforms/macro-vs-micro-mvc-architectures/</guid>
		<description><![CDATA[I was reading today on SQLServerCentral.com about SQL Server&#8217;s XQuery capabilities. I was quite fascinated. Microsoft has seemed somewhat slow on the XML uptake, so &#8230;]]></description>
			<content:encoded><![CDATA[<p>I was reading today on <a title="SQL Server Central" href="http://www.sqlservercentral.com/">SQLServerCentral.com</a> about SQL Server&#8217;s <a title="XQuery in SQL Server" href="http://www.sqlservercentral.com/articles/SS2K5+-+XML/2840/">XQuery capabilities</a>. I was quite fascinated. Microsoft has seemed somewhat slow on the XML uptake, so including XQuery in SQL Server 2005 was somewhat of a shock.</p>
<p>However, I was struck with an idea after reading the article. This type of functionality puts SQL Server on a level with <a title="eXist XML Database" href="http://exist.sourceforge.net/">eXist</a> as an XML database server. By this I mean that lots of opportunities now open up to serving XML to a client application instead of using a lot of database resources. (For those unfamiliar with eXist, it has built in REST, SOAP, and WebDav services available out of the box; SQL Server has SOAP through the <code>CREATE ENDPOINT</code> statement.)</p>
<p>This led me to thinking again about the <a title="Model-View-Controller Pattern" href="http://martinfowler.com/eaaCatalog/modelViewController.html"><abbr title="Model-View-Controller">MVC</abbr></a> design pattern and an ideal way in which to set up that pattern. I came to the conclusion that there are macro- and micro- versions of the pattern. Most of the time MVC is mentioned, it is in the context of keeping everything relatively within one language (e.g. <a title="ASP.NET MVC Framework" href="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx">ASP.NET MVC</a>, <a title="Ruby on Rails" href="http://www.rubyonrails.org/">Ruby on Rails</a> or <a title="XForms" href="http://www.xforms.org">XForms</a>). That would be an example of a micro-MVC pattern.</p>
<p>A macro-MVC pattern could be the separation of XML documents (models), Javascript (controller), and HTML + CSS + XSLT (views) as found in the <a title="Freja MVC framework" href="http://www.csscripting.com/wiki/index.php?title=Freja">freja</a> framework. Most of those components are often seen in web development but not often considered when discussing MVC. Typically, only the language that produces the XML would be considered worthy of an MVC designation, if it also produced the other pieces.</p>
<p>Now to the point: one might use SQL Server to produce the XML models, <a title="Using C# to control RESTful controller actions" href="http://www.intertwingly.net/wiki/pie/RestAspNetExample">C# classes to perform the duties of the controller</a> (i.e. parsing URLs, XML, etc. and feeding the views), and either XForms or the HTML + CSS + XSLT trio for views. The best thing about this combination over using views with eXist is that SQL Server still stores its data in a relational database. A DBA could create the stored procedures necessary to create the XML documents and update the underlying tables, thereby keeping all of the business logic in one domain and truly separating models from controllers and views.</p>
<p>I&#8217;m going to make an attempt at using this methodology soon, probably with XForms as the view layer. I will be sure to post my experiences when I get further along.</p>
]]></content:encoded>
			<wfw:commentRss>http://panesofglass.org/software/macro-vs-micro-mvc-architectures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Is a Development Framework?</title>
		<link>http://panesofglass.org/software/what-is-a-development-framework/</link>
		<comments>http://panesofglass.org/software/what-is-a-development-framework/#comments</comments>
		<pubDate>Fri, 29 Jun 2007 04:44:16 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.panesofglass.org/wp/random/what-is-a-development-framework/</guid>
		<description><![CDATA[I&#8217;ve been thinking about this question ever since I came across WAMP Server the other day. In their list of included packages, they noted Joomla, &#8230;]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking about this question ever since I came across <a title="DeveloperSide.NET" href="http://www.devside.net/server/webdeveloper" target="_blank"><abbr title="Windows, Apache, MySql &amp; PHP">WAMP</abbr> Server</a> the other day. In their list of included packages, they noted <a title="Joomla Homepage" href="http://joomla.org/" target="_blank">Joomla</a>, <a title="Drupal Homepage" href="http://drupal.org/" target="_blank">Drupal</a>, <a title="WordPress Homepage" href="http://wordpress.org/" target="_blank">WordPress</a>, <a title="MediaWiki Homepage" href="http://mediawiki.org/" target="_blank">MediaWiki</a> and <a title="phpBB Homepage" href="http://phpbb.com/" target="_blank">phpBB</a>. Until I read that, I had never considered a modular, open source web application to be a framework.<span id="more-258"></span></p>
<p>I am more familiar with the idea of Microsoft&#8217;s <a title="ASP.NET" href="http://asp.net/" target="_blank">.NET</a> platform, <a title="Ruby on Rails homepage" href="http://rubyonrails.org/" target="_blank">Ruby on Rails</a>, <a title="Django for Python" href="http://djangoproject.com/" target="_blank">Django</a>, <a title="CakePHP for PHP" href="http://cakephp.org/" target="_blank">CakePHP</a>, <a title="Symfony for PHP" href="http://symfony-project.org/" target="_blank">symfony</a>, <a title="Prototype for JavaScript on the client-side" href="http://prototypejs.org/" target="_blank">Prototype</a>, etc. as real development frameworks. These are just a few of the myriad frameworks coming out these days. One might say that programming is now going to two camps&#8211;the true coders who come up with the frameworks and those that only use these frameworks for their apps. Nothing wrong with the latter, but can you really be considered a programmer when you are simply stringing together someone else&#8217;s code? But I digress&#8230;.</p>
<p>Anyway, the interesting thing is that the only difference between a highly configurable web application like Drupal or WordPress and a framework like Ruby on Rails is that with the former, you are given an example application out of the box, and you&#8217;re encouraged to stick somewhat close to the original design and intent. With Rails or symfony, you are given a blank piece of paper and some really great tools. However, those tools keep you somewhat closed in to all the possibilities. If you want to go outside of the intent of the framework, you still have to extend it.</p>
<p>This is really no different than the modular and themed nature of the afore-mentioned open source web apps. I think it really becomes a matter of preference. If you are a tinkerer, you&#8217;ll probably do better to stick with WordPress or Drupal, figure out how to make it conform to your designs, and you&#8217;re done. I like this, but I&#8217;m much more likely to want to start with the blank sheet of paper. I just like <a title="The Agony and the Ecstasy" href="http://www.imdb.com/title/tt0058886/" target="_blank">the agony and the ecstasy</a> of building things from scratch.</p>
<p>Just ask my friend <a title="Randy Hoyt's Homepage" href="http://randyhoyt.com/" target="_blank">Randy Hoyt</a>. I have been on WordPress for years now as a &#8220;temporary solution&#8221; as I build my great authoring platform (still WordPress). He took WordPress, loved it, and made it look like nothing I&#8217;d ever seen. In the end, they&#8217;re all frameworks.</p>
]]></content:encoded>
			<wfw:commentRss>http://panesofglass.org/software/what-is-a-development-framework/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

