C# class tv channels

Tags:    c# asp.net visual-studio

skal lave 4 classes ( tvprovider,package,channelprice,tvchannel )

skal bruges til et website hvor der kan søges efter en tv pakke efter valgte kanaler.

hvordan griber jeg det an. ??



3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 15 karma
Sorter efter stemmer Sorter efter dato
Identificer hvad der skal fortælles om de forskellige klasser.
Er dog ikke sikker på hvordan du helt er kommet til det skal være de klasser?

tvprovider er vel canal digital, viasat, boxer-tv etc.
De har en enten enkeltkanaler der kan købes eller pakker.
List<channels> channels
List<package> packages

package kan være en serie af kanaler, men er ofte baseret på tilbud og varighed måske. Det kommer an på hvor "statisk" din side skal være eller om der skal tages tidsbegrænsede tilbud med også.
Derfor er datoer sat til nullable (?- gør dem nullable), fordi der kan være en begrænset periode på. Ofte kan man også være "bundet" af en pris hvis man melder sig ind, og skal have det i x måneder.
string PackageName
string tvProviderName
List<channels> Channels
DateTime? StartDate
DateTime? EndDate
Price PackagePrice
int MdrBinding

Price skal erstatte din channelprice da den skal kunne bruges på både grupper af kanaler (packages), men også de individuelle kanaler/channels.
discount vil være en indikator for om der er periodisk rabat på prisen.
double price
boolean discount
DateTime? StartDate
DateTime? EndDate

Channel skal så være den enkelte kanal som udbydes.
Grunden til jeg har sat start/end-date på kanalen er at den kan måske udgå og så kan du bevare historikken.
Discount skal læse direkte ned på price-objektet og give denne værdi, som vil vise om du nuværende har rabat på prisen.
DiscountPeriod skal se om der er discount, og hvis der er så læse start og slut dato fra price, så du kan fortælle hvor længe der er rabat.
string Name
string tvProviderName
boolean isHD
price Price
boolean Discount
string DiscountPeriod
DateTime? StartDate
DateTime? EndDate

Hvis du skal lave det rigtigt optimalt så ville jeg lave det som en liste med packages og channels og alt som har et timespan de virker i. Så har du historikken i alle data, kan se udviklingen i tilbud og priser, plus du har mulighed for at i hele december måned koster guldpakken hos viasat 50 kr. mindre og kan have dette som selvstændigt objekt for denne periode uden at skulle ændre det frem og tilbage men bare sætte det for en periode.
På samme måde vil du for price kunne have en liste med prices som hver har en periode de gælder for, så du kan sætte rabat på over en periode og kan se udviklingen eller indsætte rabat over en periode på en kanal eller pakke.
Så det meget simpelt at lave en metode der ber om at få price, som altid finder den som er gældende for dags dato.
Et andet lille godt fif er at lave dine perioder skal ALTID dække hele året, plus de må ikke overlappe hinanden. Så du sikker på du altid kun har en pris for en dato/periode.
"tvProviderName" bruges blot til at give information om dine objekters sammenhæng, og du vil så kunne have metoder til at reagere på det og finde andre kanaler fra samme tvProvider, eller andre packages etc.

Der skal selvfølgelig laves en masse hjælpemetoder til at finde de korrekte ting på dine objekter, men er ikke så slemt.



Indlæg senest redigeret d. 04.10.2013 10:49 af Bruger #17215
Start med at få et overblik over, hvilke forhold der er imellem de forskellige klasser

//Tv-providers, har ofte flere forskellige pakker, at vælge imellem, vi laver derfor en liste, så der er mulighed for at tilføje flere pakker
tvprovider:
- List: packages


//Da en tv-pakke ofte indeholder flere forskellige tv-kanaler kan vi have flere forskellige tv kanaler
package:
- List: tvchannels

//En tv-kanal består af navnet på tvkanalen, samt hvad denne koster om måneden
tvchannel:
- float price;
- String name;


Er det noget i den stil, du tænker på eller hvad er det helt præcist, du gerne vil vide ?



tusind tak for svar begge 2 :-)



t