doggelito skrev:
Är det "fult" att placera instansvariablar i basklass så här?
public class SomeClass : BasePage { public Page_Load(object sender, EventArgs e) { ClientBL.SomeMethod(); } } public class BasePage : Page { private ClientBL _clientBL; public ClientBL ClientBL { get { if (_clientBL == null) _clientBL = new ClientBL(); return _clientBL; } } }
Fult o fult så görs det ju mkt med page egna proppar och metoder ändå..
Det fula är att man fattar inte vad ClientBL riktigt är. ;) Så försök göra namnet tydligare...
Antar att du försöker nyttja den som något slags lager. Jag skulle inte gjort så här då. Jag hade nog föredragit MVC patternet. Inte ramverket utan mönstret med den teknik ASP .Net erbjuder idag utan MVC Ramverket.
Dvs använda ASPX och CB som Vyn. En egen klass som kontroller som vyn ropar på. Där controllern i sig sedan anropar saker i domän/businesslagret.
ASPX -> CB -> Page_Load ---> orderController.DoSomething(....) ---> OrderService ---> ... OrderRepository ---> DB
Där OrderService är min klass i typ BL (ett namn jag inte använder längre... utan kallar mer för Domän Lager.) Där OrderService sen hanterar en Order entitet och nyttja Repositories (objekt som hanterar persistens mot en Data källa)