title: What's the difference between design patterns and architectural patterns?
body: <p>When we read about <em>design patterns</em> on the internet we note that there are 3 categories:</p>
  
  <ul>
  <li>Creational</li>
  <li>Structural</li>
  <li>Behavioral</li>
  </ul>
  
  <p>But when we create the architecture of a software, then we think about MVP, MVC or MVVM.</p>
  
  <p>For example, among creational patterns I found the <em>singleton pattern</em>, but I have also used singleton in my MPV. </p>
  
  <p>So my question is: Is a design pattern a over all structure of a product? </p>
  
  <ul>
  <li><p>If yes, then how singleton can be a design pattern? Because I can use it anywhere in my application. Basically, it is restricted only to create one instance at a time in memory, but doesn't this concept define how software is designed?</p></li>
  <li><p>If not, then where are MVP, MVC and MVVM in the three categories of patterns? And what is the difference between design and architecture of software?</p></li>
  </ul>