webForumDet fria alternativet

Partial class?

37 svar · 1 662 visningar · startad av nitro2k01

nitro2k01Medlem sedan aug. 20039 342 inlägg
#1

Jag sitter och programmerar webbkomponenter, och jag undrar lite över vad skillnaden mellan en vanlig klass och en "partial class" är.

@ndersMedlem sedan juni 200032 969 inlägg
#2

En partial class är egentligen en klass delad över flera källkodsfiler.
Enda fördelen, som jag ser det, är att man om man är flera som arbetar i samma projekt, kan man jobba simultant flera utvecklare med samma klass.

mvh

GladhMedlem sedan maj 20012 812 inlägg
#3

Enda fördelen, som jag ser det, är att man om man är flera som arbetar i samma projekt, kan man jobba simultant flera utvecklare med samma klass.

Det är en fördel, men den riktigt stora fördelen ligger i klasser som genereras utifrån verktyg. Ta en webservices proxy class, denna genereras varje gång du gör en update på din webservice och eventuella tilllägg som du gjort i klassen försvinner.

Om du istället lägger dina tilläge i en annan fil, som partial klass så kommer dessa tillägg finnas kvar även om du gör en update på din webservice.

Det är där som den stora styrkan med partial klasser ligger, eller kanske möjligheten att dela upp en klass i flera filer om klassen skulle bli extremt stor, men då kanske man skall se över sin klassstruktur istället...

- M

@ndersMedlem sedan juni 200032 969 inlägg
#4

Gladh, låter vettigt.
En okunnig amatör tackar för upplysningen. :)

Mvh

JosefMedlem sedan mars 20023 561 inlägg
#5

Eller om du t ex har ett antal modellklasser som ex User, Booking etc. Ganska smidigt att kunna deklarera dessa som underklasser till Model (Model.User). Ganska osmidigt att ha alla dessa modellklasser i en och samma fil när man kommer upp i antalen.

emissionMedlem sedan dec. 19996 721 inlägg
#6

Josef skrev:

Eller om du t ex har ett antal modellklasser som ex User, Booking etc. Ganska smidigt att kunna deklarera dessa som underklasser till Model (Model.User). Ganska osmidigt att ha alla dessa modellklasser i en och samma fil när man kommer upp i antalen.

Förklara gärna mer. Jag har svårt att se finessen.

JosefMedlem sedan mars 20023 561 inlägg
#7

emission skrev:

Förklara gärna mer. Jag har svårt att se finessen.

Finessen med vilket? Modelklasserna eller att ha dessa i olika filer?

spangoMedlem sedan juni 20008 205 inlägg
#8

Josef skrev:

Finessen med vilket? Modelklasserna eller att ha dessa i olika filer?

Om emission undrar över samma sak som jag, så är det vad partial classes har att göra med att man har olika klasser i olika filer. Det var iaf så jag förstod ditt inlägg.

JosefMedlem sedan mars 20023 561 inlägg
#9

Klassen Model måste ju deklareras som Partial eftersom du antagligen får en fil per subklass (User, Post etc).

emissionMedlem sedan dec. 19996 721 inlägg
#10

Men det är ju ingen mening med att ha den Partial om man inte "fortsätter" på Model-klassen i en annan fil. User och Post är ju subklasser och tjänar inte på att Model är Partial.

GladhMedlem sedan maj 20012 812 inlägg
#11

emission skrev:

Men det är ju ingen mening med att ha den Partial om man inte "fortsätter" på Model-klassen i en annan fil. User och Post är ju subklasser och tjänar inte på att Model är Partial.

Om User och Post är privataklasser till Model, så måste de ligga in i Model klassen och därmed så tjänar man ju på att Model är partial eftersom du då kan dela upp klassen i fler filer.

Jag har dock svårt att se behovet av så många privataklasser till en annan klass, då bör man nog se över sin objektmodell och se om man inte tänkt fel någonstans...

- M

emissionMedlem sedan dec. 19996 721 inlägg
#12

Gladh skrev:

Om User och Post är privataklasser till Model, så måste de ligga in i Model klassen och därmed så tjänar man ju på att Model är partial eftersom du då kan dela upp klassen i fler filer.

OK, då är jag med på "modellen".

Gladh skrev:

Jag har dock svårt att se behovet av så många privataklasser till en annan klass, då bör man nog se över sin objektmodell och se om man inte tänkt fel någonstans...

Instämmer å det gladhaste!

JosefMedlem sedan mars 20023 561 inlägg
#13

Då kanske vi menar lite olika vad gäller modellklasser. :e

Vad är en modellklass för er?

GladhMedlem sedan maj 20012 812 inlägg
#14

Då kanske vi menar lite olika vad gäller modellklasser.

Det gör vi säkert...

Vad är en modellklass för er?

Vet inte har aldrig använt en "modell"-klass någongång :).

Jag misstänker att du programmerar i VB.NET och att man i VB 6 hade något som hette model-klasser, och det är något som du fört med dig från VB6, stämmer det?

- M

JosefMedlem sedan mars 20023 561 inlägg
#15

Har inte använt VB6 speciellt mycket. Med modellklass menar jag en uppsättning propertys som stämmer överrens med en tabellrad i datakällan. Så att då t ex Booking har BookingNo, CustomerId, Weight etc. (vilket du redan har förstått ;) ).

spangoMedlem sedan juni 20008 205 inlägg
#16

Josef skrev:

Med modellklass menar jag en uppsättning propertys som stämmer överrens med en tabellrad i datakällan. Så att då t ex Booking har BookingNo, CustomerId, Weight etc. (vilket du redan har förstått ;) ).

Menar du att alla objekt som motsvarar något i domänen ska vara inre klasser till samma klass, eller har jag missförstått dig? Vad vinner man på det? Det räcker väl att de ligger i samma namespace, om man vill att de ska ha åtkomst till varandra på ett lite intimare sätt.

GladhMedlem sedan maj 20012 812 inlägg
#17

jag är lika undrandes som spango ????

- M

JosefMedlem sedan mars 20023 561 inlägg
#18

Skulle man kunna göra, men vad vinner man på det jämfört med att ha det i en partiell klass?

erkaMedlem sedan dec. 19996 522 inlägg
#19

josef, som jag tolkar det vill du ha hög cohesion då antar jag. Nu kan det vara så att jag inte förstått hur du menar.

JosefMedlem sedan mars 20023 561 inlägg
#20

erka skrev:

josef, som jag tolkar det vill du ha hög cohesion då antar jag.

Efter en stunds googlande efter vad cohesion betyder i programmeringssamanhang förstår jag det fortfarande inte. Lust att förklara lite närmare? ;)

132 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)