title: Is a formal application framework too much?
body: <p>Our shop designs and create custom software applications for a vareity of vertical industies.  We currently use a modified version of the <a href="http://www.lhotka.net/" rel="nofollow noreferrer">Csla</a> framework for most of our development.  </p>
  
  <p>It's a <strong>great framework</strong>, supports a vareity of ways to communicate with a database, directly, remoting, WCF and so on.  It offers a ton of features, many of which we do not use.  The pros of the framework are numerous, the big one being the Rockford Lhotka is a step ahead when it comes to <strong>new</strong> technology, meaning we don't have to do the research.  The cons of the framework are the fact that you are at the mercy of how the creator implements changes and technology and all the many features that you do not use.</p>
  
  <p>With the advent of Linq-to-Sql we are seriously looking at making to switch, granted a lot of what is generated is purely data access, but by creating partial classes we could extend the data access and provide business logic. We could also create some formal interfaces for working with the business logic.  Could use/create our rules manager, and  so on.  In a nutshell we would be growing our own application framework.</p>
  
  <p>I noticed during <a href="http://haacked.com/archive/2008/11/07/haackoverflow-vs-stackoverflow.aspx" rel="nofollow noreferrer">Jeff Atwood's discussion the ASP.NET MVC framework at PDC 2008</a>, he was primarily working with a single project, and it also <strong>looked</strong> like he was extending Linq-to-Sql with partial classes.  This architecture <strong>seems</strong> to demonstrate the fact that the code is easily maintainable, new features are quickly added and bugs are quickly fixed, and that it performs well ... most of the time.</p>
  
  <p>I'm just curious as to what other user's thoughts are?  Am I crazy to abandon our framework for something that I perceive is <strong>easier</strong> to use and more <strong>maintainable</strong>?</p>