title: Company & Contacts Object Design Help
body: <p>I am hoping that someone (or some people) could help us with a problem that we have wrangled with for a few days.  How to organize our business objects given the attached diagram?  </p>
  
  <p>We are looking for any assistance (ideas about where to or how to search for the design pattern(s)/object model(s) we could use in order to solve this problem.  Our situation is slightly more complex, but we have tried to simplify it best we could for the purposes of asking this question.  </p>
  
  <p>Some Details:
  Some companies have product lines and some don't.<br>
  Each company has a list of contacts.  If a company has at least one product line, some of those company contacts are ALSO associated with at least one product line.<br>
  A few of the contacts are references (business/personal) for other contacts.<br>
  Each company and each contact can have zero or more addresses.</p>
  
  <p>Thank you for any assistance finding a more appropriate solution (My assumption is that we will need to use multiple models/patterns).</p>
  
  <p><img src="https://farm4.static.flickr.com/3540/3480423086_deafb0e200.jpg" alt="Entity Diagram"></p>
  
  <p><a href="http://www.flickr.com/photos/9844492@N08/3480423086/sizes/o/" rel="nofollow noreferrer">Larger view of diagram (flickr.com)</a></p>
  
  <p>** (from the diagram) Our company has employees/internal application users who are included with contacts because they can also be references, etc.</p>