Should the bean pattern (ie. JavaBean) be considered its own pattern? Briefly: An object has parameters (private fields) that are modified by public MutatorMethods getSomething() (GetterMethod) and setSomething(something) (SetterMethod) public class Bean { private Object something = null; public void setSomething(Object something) { this.something = something; } public Object getSomething() { return this.something; } } ---- What are getSomething and setSomething but new names and code for "something" as an r-value and "something =" respectively? All we're doing here is overriding those basic implementations and renaming them. Admittedly this does give us finer-grained control over access as well - we don't have to expose both methods. --- The SetterMethod may include access restrictions to: public void setSomething(Object something) { if(!isValidSomething(something)) { throw new IllegalArgumentException(something + " is not foo enough."); } this.something = something; }