title: Design Patterns - Architecture Astronaut
body: <p>Perhaps my question is similar in nature to this one: <a href="https://stackoverflow.com/questions/11586/do-you-use-design-patterns">Do you use design patterns?</a></p>
  
  <p>The programs that I write are small 50-75 K line programs mostly using <a href="http://en.wikipedia.org/wiki/Windows_Forms" rel="noreferrer">Windows Forms</a> and <a href="http://en.wikipedia.org/wiki/ASP.NET" rel="noreferrer">ASP.NET</a>.  These programs are GUI intensive allowing the design and layout of various graphics and graphics processing.</p>
  
  <p>I consider myself good at OOP and practiced at balancing OOP and traditional procedural methods to create maintainable code.</p>
  
  <p>The problem comes in when I consider design patterns.  The linked to thread has an interesting comment that design patterns may be used but not intentionally.  When I want to intentionally use a design pattern (in the design of my program), it feels like I'm going above and beyond what is needed, that I'm in the realm of "<a href="http://www.joelonsoftware.com/articles/fog0000000018.html" rel="noreferrer">architecture astronaut</a>" so I fall back to my traditional methods and everything goes along smoothly (i.e. normally).</p>
  
  <p>Take the MVC pattern as an example.  If I want to implement this pattern using Windows Forms or ASP.NET (Visual Studio 2005) then I have to write a "Framework" and writing frameworks seems to be more trouble than it's worth for the size of the application.</p>
  
  <p>Perhaps my applications are too small to justify the use of some of these patterns.
  Perhaps I just don't know the patterns well enough or need to study them more.</p>
  
  <p>Does anyone else experience this "architecture astronaut" feeling?</p>
  
  <p>How do you go about intentionally using design patterns without going "overboard?"</p>