webForumDet fria alternativet

Tre-skikts-lösning - ett enkelt exempel...

ASP

1 svar · 521 visningar · startad av Lukaspojken

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

Oftast blandar man både presentationsgränssnitt och affärslogik i traditionell asp-utveckling men hur fasen lyckas man med att programmera så att det blir tre-skikts-lösningar.

Kan någon ge ett väldigt enkelt exempel hur man hämtar värdena från affärslogiken till presentationsgränssnittet...är det två filer man arbetar med, dvs en fil som arbetar med affärslogiken och en som arbetar med presentationsgränssnittet. Sen så inkluderar man bara längst upp på pr-filen affärslogikfilen. Är det ungefär så det går till?

Lukaspojken

Medlem sedan dec. 1999707 inlägg
#2

Ett exempel på en fyrskiktslösning:

- Databas
- Data Logic Layer (DLL) (Hämtar data från en datakälla)
- Business Logic Layer (BLL)
- UI (Gränssnittet) (ASP)

Vad gäller de två mellersta skikten, BLL och DLL, så är de COM+-komponenter skrivna i Visual Basic, dvs DLL-filer. UI:t (asp-filen) begär information från BLL:en som i sin tur hämtar all data den vill ha av DLL:en som i sin tur hämtar från databasen. BLL-bearbetar datan (om så behövs) och levererar till UI:t.

Det här visste du kanske redan men själva grundtanken bakom det är att man lättare skall underhålla koden och självklart skapa ett givet dataflöde i systemet. Vilken arkitektur och teknik man sedan väljer är upp till var och en. Affärslogiken behöver inte nödvändigtvis vara kompilerad kod utan det går även att använda sig av asp-kod för att skikta upp ett system.

Exempelvis skulle man kunna tänka sig att man skapar en, eller flera, asp-filer för affärslogiken som alla ropar på en metod som sköter hämtandet av data från databasen och levererar i ett recordset. På så sätt får man en "renare kod" och det är dessutom mycket trevligare att koda om all kod inte är en enda stor gröt blandat med html och asp-kod.

260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)