title: C++ class design
body: <p>Maybe this is not pure c++ technical question, but any advice is highly welcome. </p>
  
  <p>I need to implement class with many members (let's say A). </p>
  
  <p>I also need to access these data by set of other classes and this access should be quite fast (drawing stuff conditioned by members from class A). </p>
  
  <p>First approach was to set access level inside A as private and use kind of setters/getters to get particular elements to check (so many method calls). </p>
  
  <p>Other approach, just make everything public in A, next one to make dozen of friend classes. To be honest, i do not like any of the above. Rest of system shouldn't have access to A class members at all, only interested ones. </p>
  
  <p>Maybe someone had to deal with something similar and could advice some good practice, maybe some appropriate design pattern?</p>