(61 design rules, following this law, can go to some unnecessary trouble in the future. (1) All data should be hidden inside the location class. (2) Users of a class need to rely on the common interface of the class, but a class cannot rely on its users. (3) Minimize messages in class protocols. (4) Implement the most basic public interface understood by all classes [for example, copy operation (deep copy and shallow copy), equality judgment, accurate content output, description and analysis from ASCII, etc.]
61 Rules of Experience for Java Object Oriented Design.doc)