PAFR Les 2 - Design Principles
Four pillars of Object Oriented Programming
De kwaliteit van OO Design
Cohesion: Hoe sterk hangt de functionaliteit binnen een component (klasse) of module
(package) samen? Weinig cohesie betekent dat de klasse of package een breed scala aan
verantwoordelijkheden heeft en niet gefocust is op één specifiek iets. Dit wil je liever niet.
Coupling: Hoeveel kennis heeft een component of een module over de interne werking van
andere componenten en modules? Wanneer je iets veranderd in één component of module wil
je niet dat dit grote gevolgen heeft voor de componenten die ervan afhankelijk zijn. Je wil dus
weinig coupling hebben.
Dus, High cohesion, loose coupling.
Je wil samenhang binnen een klasse of module, ze moeten allemaal naar hetzelfde doel/
functionaliteit toe werken.
Je wil dat er weinig koppeling is, ze moeten niet van elkaar interne werking af weten. Elk object
is zelfstandig en verantwoordelijk voor zijn eigen verantwoordelijkheden.
Jet Wardenier 18/12
Four pillars of Object Oriented Programming
De kwaliteit van OO Design
Cohesion: Hoe sterk hangt de functionaliteit binnen een component (klasse) of module
(package) samen? Weinig cohesie betekent dat de klasse of package een breed scala aan
verantwoordelijkheden heeft en niet gefocust is op één specifiek iets. Dit wil je liever niet.
Coupling: Hoeveel kennis heeft een component of een module over de interne werking van
andere componenten en modules? Wanneer je iets veranderd in één component of module wil
je niet dat dit grote gevolgen heeft voor de componenten die ervan afhankelijk zijn. Je wil dus
weinig coupling hebben.
Dus, High cohesion, loose coupling.
Je wil samenhang binnen een klasse of module, ze moeten allemaal naar hetzelfde doel/
functionaliteit toe werken.
Je wil dat er weinig koppeling is, ze moeten niet van elkaar interne werking af weten. Elk object
is zelfstandig en verantwoordelijk voor zijn eigen verantwoordelijkheden.
Jet Wardenier 18/12