Hej jag har ett enkelt problem som kan lösas på olika sätt enligt olika personer som jag pratat med.
Frågan är följande.
Jag har följande objekt.
Person
Anställd
Spelare
Användarkonto
Polis
Projektledare
osv osv.
Poängen är hur dessa objekt skall relateras med Person objektet.
Skall det vara ett arv eller skall det vara en relation?
Vissa påstår att det är en relation för att Anställd, Spelare, Projektledare osv är roller som en person kan inneha.
Å andra sidan kan man som Anställd, Spelare, Projektledare osv ha en viss historik säg att man vill spara på projekt som en viss person varit projektledare i, eller statistik för vad en Spelare har gjort i ett lag då kan man inte byta ut personen. Men isåfall kanske man har ett objekt där man inte kan byta ut personen på?
Allt som du kan sätta tid på bör väl ha en sådan! och då vara en relation!
Person är du alltid dock med attributen född och död som är tider.
Men anställd är ju en person under en bestämd tid där vaderbörande har en innesluten roll som exempelvis Polis.
Rita upp det skissartartatd så kanske det blir en bra bild!
Spelare så säger vi att en spelare kan vara en Coach under en tid visst Spelare är en person och Coach en roll, men säg att man vill spara saker som Coachen åstakommit t.ex. vilka matcher han har varit Coach kanske.
Visst en kompis sa att man kan ha en Coach och en Spelare som är samma instans när det gäller person om man använder sig av Decorator pattern, men det tyckte jag blev lite väl komplext.
Slutar en person som anställd så är ju personen inte anställd längre :S...
Det är därför som man måste ha tidsbegrepp med för respektive roll, eftersom en person kan vara både spelare och coah under samma tidsepok eller överbryggande.
Till deras roller knyter man sedan de prestationer som man vill lagra.
Spelare.Person.Name
Coach.Person = Person
Sedan sparas Coach objektet och man sparar historiken i Coach objektet... Personen kommer alltid vara kopplad till Coach.Person ??
...problem som kan lösas på olika sätt enligt olika personer ...
...
Vissa påstår att det är en relation för att Anställd, Spelare, Projektledare osv är roller som en person kan inneha.....
Angående olika sätt att hantera roller så finns det en relevant artikel som heter Dealing With Roles (PDF-länk, som kan hittas via Fowler's länkar till Analysis Patterns).
/ Tomas
267 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25