У меня уже есть многоуровневый дизайн доступа к данным, который работает хорошо. Но я не знаю, является ли это наиболее подходящей реализацией или нет.
я просто хочу знать, что классы или методы BLL должны быть статическими, или они должны быть классами, которые имеют только один экземпляр?
В то же время мне не нужно сериализовать BLL-классы, чтобы использовать его в таком дизайне SOA. Но я не знаю, что принесет эта функция.
Посмотрите на следующие варианты:
- Классы и методы BLL являются статическими
- Классы BLL не являются статичными, но их методы являются статическими
- Классы BLL не являются ни статическими, ни их методами. Приложение должно каждый раз создавать класс BLL для доступа к его методам.
- Классы BLL не являются ни статическими, ни их методами. Но есть только один экземпляр каждого класса BLL. И приложение использует эти статические экземпляры, чтобы использовать методы BLL.
Какой из них наиболее эффективен в основном по производительности и дизайну?
РЕДАКТИРОВАТЬ:
Option1
public static class BllCustomer
{
public static List<ModelCustomer> GetCustomers()
{
}
}
// usage
BllCustomer.GetCustomers();
Option2
public class BllCustomer
{
public static List<ModelCustomer> GetCustomers()
{
}
}
// usage
BllCustomer.GetCustomers();
Вариант3
public class BllCustomer
{
public List<ModelCustomer> GetCustomers()
{
}
}
// usage
BllCustomer bllCustomer = new BllCustomer();
bllCustomer.GetCustomers();
ОПЦИЯ4
public class BllCustomer
{
public List<ModelCustomer> GetCustomer()
{
}
}
// usage
public static BllCustomer s_BllCustomer = new BllCustomer();
// whenever needed
s_BllCustomer.GetCustomer();