Public vs. private data representation
If the data representation is public:
– Application code might make improper values.
– Existing application code might be invalidated by change of representation.
If the data representation is private:
+ Application code cannot make improper values.
+ Existing application code cannot be invalidated by change of representation.