Skip to content

bouvet/VisitorAndStrategyPattern

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Visitor- og Strategy-pattern

Den abstrakte klassen Worker har to implementasjoner, Employee og Consultant. Disse inneholder logikk som bør flyttes ut i separate klasser:

  • Logikk for kostnadsberegninger
  • Logikk for å levere rådata til rapporter

Klassen Company inneholder funksjonalitet for å generere rapporter på XML- og JSON-format. Også denne logikken bør flyttes ut.

Dette kan gjøres vha Visitor- og/eller Strategy-pattern.

Oppgavene går ut på å refaktorere slik at logikken flyttes uten å bryte testene i CompanyTests:

  • Bruk Strategy-pattern for å flytte ut rapport-logikken fra Company
  • Bruk Visitor-pattern for å flytte ut kostnadsberegningene fra Worker og subklasser
  • Kombiner Visitor med Strategy for å fjerne all rapport-relatert kode fra Worker og subklasser

Lenker: