title: Zend Framework 2 Models Architecture
body: <p>To make my doubt clear, I have this scenario:</p>
  
  <p>I have an app that sells cars and houses (just an example!), so I created a module to show all the cars, called <strong>Cars</strong>, and one to show all the houses, called <strong>Houses</strong>.</p>
  
  <p>I have a <strong>Manager</strong> module that should have a CRUD system for Cars and Houses.</p>
  
  <p>Where should I put my models for cars and houses? I should create a module just to put my models, like a <code>Main</code> module? Or I should put my models in <strong>Cars</strong> and <strong>Houses</strong> modules and access them in <strong>Manager</strong> module?</p>
  
  <p>Let's say I create a <code>CarModel</code> with the methods <em>select</em>, <em>insert</em> and <em>delete</em>. If I put this model in <code>Cars</code> module I can have a security problem because <code>Cars</code> now have access to <em>insert</em> and <em>delete</em> methods...</p>
  
  <p>On the other hand, I could create a <code>CarModel</code> inside <code>Cars</code>module with only the <em>select</em> method and then create again a <code>CarModel</code> with <em>insert</em> and <em>delete</em> in <code>Manager</code>module, but It will make very difficult to maintenance of the code...</p>
  
  <p>What's the best way to solve this issue?</p>