Ik zit een beetje te klooien met een paar classes. Nu heb ik een user class welke altijd gekoppeld is aan een account class welke weer een adresboek waarin groepen met personen zitten. Nu zit ik te twijfelen wat ik moet doen. Is het nou beter om een chain van methods te maken voor bijvoorbeeld het toevoegen van een persoon aan een groep in het adresboek, of zal ik direct in de user class een functie zetten welke delegate naar het account object enz. totdat de call bij de groep aankomt.
Dus of chaining:
of delegating:
Nu is de tweede natuurlijk veel netter ook vanwege het verbergen van de implementatie etc. Maar stel dat user nu een stuk of 5 objecten aggregeerd met elk 5 methods die beschikbaar moeten zijn via de user, dan zit je dus met 25 methods die alleen maar een call doorsturen. Moet ik me hier nu gewoon niets van aan trekken en gewoon delegaten of is een chain hier en daar niet zo'n probleem? Waar moet ik een beetje op letten om te zorgen dat ik geen zwakke delen in mijn code krijg?
Dus of chaining:
code:
1
| oUser->getAccount()->getAddressBook()->getGroup(groupName)->addPerson(oPerson); |
of delegating:
code:
1
| oUser->addPersonToGroupInAddressBook(groupName, oPerson); |
Nu is de tweede natuurlijk veel netter ook vanwege het verbergen van de implementatie etc. Maar stel dat user nu een stuk of 5 objecten aggregeerd met elk 5 methods die beschikbaar moeten zijn via de user, dan zit je dus met 25 methods die alleen maar een call doorsturen. Moet ik me hier nu gewoon niets van aan trekken en gewoon delegaten of is een chain hier en daar niet zo'n probleem? Waar moet ik een beetje op letten om te zorgen dat ik geen zwakke delen in mijn code krijg?