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?
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
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.
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.
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?
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