title: Software engineering and patterns in Matlab GUI application?
body: <p>I've been asked to develop a simple GUI application using Matlab and GUIDE, which will interact with a separate backend engine (also Matlab). I'm coming from a Java and .Net background.</p>
  
  <p>The Matlab documentation is strong on how to technically do this, but says little about the "engineering" process, in particular:</p>
  
  <ul>
  <li><p>How to package/namespace functions, or create libraries?</p></li>
  <li><p>How best to lay files out on the filesystem?</p></li>
  <li><p>How to implement typical GUI  patterns eg: MVC, observer?</p></li>
  <li><p>Whether these questions even make sense in Matlab development?</p></li>
  <li><p>Any other common idioms/pitfalls?</p></li>
  </ul>
  
  <p>Direct advice or a pointer to good reference material would be very helpful. Thanks.</p>