Noen objekter er dataorienterteog har hovedsaklig getter- og setter-metoder.
Excerpt |
---|
De tjenesteorienterte objektene er fokusert på beregninger og operasjoner på data, som gjerne ligger utenfor objektet. |
Et annet eksempel på et tjenesteorientert objekt er en "sammenligner", dvs. et objekt som kan sammenligne to (andre) objekter og bestemme hvilken som skal komme først i henhold til en ønsket sortering. Et slikt objekt kan gis til en sorteringsalgoritme og styre den totale ordningen, f.eks. at personer sorteres først på fødselsdato og så evt. på etternavn og fornavn. Et slikt objekt gjør egentlig fint lite, men er likevel nyttig fordi det lar en velge sorteringsordning uavhengig av algoritme. Sammenligningen er skilt ut som en egen tjeneste nettopp for at vi skal kunne velge en "leverandør" tilpasset vårt spesifikke behov.
I praksis vil mange objekter være en mellomting mellom data- og tjenesteorientert. Dataorienterte objekter kan ofte tilby tjenesteaktige metoder som opererer på interne data, f.eks. implementerer en standard sammenligning til bruk av ved sortering. Tjenesteorienterte objekter kan også ha metoder for å håndtere intern tilstand. F.eks. kan loggeren kapsle inn interne data som styrer hvordan den oppfører seg, f.eks. at alvorlige meldinger lagres på fil, mens advarsler skrives til konsollet og alt annet ignoreres.