webForumDet fria alternativet

Göra metoder shared i fasadlagret?

.NET

6 svar · 460 visningar · startad av Lukaspojken

Medlem sedan maj 20011 312 inlägg
Frågan#1

Som jag förstått fasadlagret så är det bland annat tänkt som ett enkelt gränssnitt mot tex GUI:t. När ni skapar sådana sådana gränssnitt brukar ni göra metoderna shared, dvs så man slipper instanseringen?

Sen har jag en lite mer övergripande fråga. Om man tex skulle skippa fasadlagret på grund av att man oftast inte behöver en fasad mot sitt affärslogiklager men när man behöver en fasad (dock ej ett lager) var ska man lägga denna? Ska man baka in det i affärslogiklagret på något sätt?

Medlem sedan dec. 19996 522 inlägg
#2

Fasad är ett mönster för att ge en enhetlig väg in till en delmängd av en applikation, eller en applikation. Nej jag gör dem inte statiska, tycker inte detta är ett tillfälle för statiska metoder

Medlem sedan maj 20011 312 inlägg
#3

Okej, tack för ditt svar! Är det bland annat pga av prestandaskäl som du inte vill använda dig av shared? Förresten hur ser du på min andra fråga :)

Medlem sedan aug. 20003 575 inlägg
#4

Jag har alltid ansett att man skall undvika statiska/shared funktioner/variabler så mycket som möjligt, jag tycker man frångår OOP om man använder det för mycket.

Men självklart inser jag att dom är bra ibland i t.ex. med singleton mönster.

Jag tycker inte du skall använda statiska metoder i ditt fasadlager sålänge det inte finns en riktigt bra anledning.

Medlem sedan dec. 19996 522 inlägg
#5

Trådsäkerhet kan ju också vara en annan sak, sen håller jag med nickemannen, även om du kanske inte uppenbart behöver veta tillståndet på din fasad känns det mer rätt att låta den instansieras.

Ang. din andra fråga beror det nog lite på, inget är skrivet i sten. En facade behöver ju inte vara ett eget "lager", själva mönstret handlar ju om abstraktion och inte implementation så specifikt.

Medlem sedan maj 20011 312 inlägg
#6

Okej, jag har lite svårt att överge det med de statiska metoderna men det beror nog på att jag inte programmerat så mycket OOP.

-> Erka
Om vi antar att du lägger in en fasadklass i affärslogiklagret. Finns det något bra namn att ge den? Typ OrderFascade eller finns det en bättre namnstandard?

Medlem sedan dec. 19996 522 inlägg
#7

Om det tvistar de lärde, själv brukar jag dock namnge dem efter vad exakt de ska göra, vad de ska förmedla access till, men det är inte fel att kalla den OrderFacade. Huvudmålet med facade är ju att dölja subsystem och exponera ut ett gemensamt gränssnitt för något, kan vara bra att ha i åtanke :)

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)