La regola 9 in Oggetto Calisthenics di Jeff Bay (RTF) è:
Rule 9: No getters/setters/properties
The last sentence of the previous rule leads almost directly to this rule. If your objects are now encapsulating the appropriate set of instance variables but the design is still awkward, it is time to examine some more direct violations of encapsulation. The behavior will not follow the instance variable if it can simply ask for the value in its current location. The idea behind strong encapsulation boundaries is to force programmers working on the code after you leave it to look for and place behavior into a single place in the object model. This has many beneficial downstream effects, such as a dramatic reduction in duplication errors and a better localization of changes to implement new features.
Another way this rule is commonly stated is “Tell, don’t ask”.
Ho capito il punto della regola. Ma lo trovo utile solo negli ambienti raccolti con garbage dove la modifica di un riferimento è molto semplice.
Questo sarà di qualche aiuto nell'Obiettivo C? Perché è sempre importante lasciare che solo il setter cambi l'ivar e lasciare che si occupi anche di mantenere un nuovo valore e di rilasciare quello vecchio. e usa il setter ovunque all'interno dei metodi per alterare gli ivar che sono puntatori.