design my n-tier app
I wonder how do you organize the tiers in your web apps. BL has classes that represent DB entities. each class has some methods that uses the DAL. for example: Class BL.Sales has those methods- GetAllSales(company, month) GetAllSales(company, location, month) GetSale(SaleID) the DAL has classes with 'CRUD' operations. for example: class DAL.Sales has those methods- (the same names as in the BL) GetAllSales(company, month) GetAllSales(company, location, month) GetSale(SaleID) The BL is referencing the DAL, because he uses it. If i want to return BL objects from the DAL I have to reference the BL from the DAL. isn't it a problem (cyclic reference) ? the c# compiler didn't complain but the NAnt script failed. any ideas of how to design the tiers?