我已经有了一个运行良好的分层数据访问设计。但我不知道这是否是最合适的实现。
我只是想知道 BLL 类或方法应该是静态的,或者它们应该是只有一个实例的 concreate 类?
同时,我不需要序列化 BLL 类来在这样的 SOA 设计中使用它。但我不知道该功能会带来什么。
查看以下选项:
- BLL 类和方法是静态的
- BLL 类不是静态的,但它的方法是静态的
- BLL 类不是静态的,也不是它的方法。应用程序应该每次都创建 BLL 类以便访问它的方法。
- BLL 类不是静态的,也不是它的方法。但是每个 BLL 类只有一个实例。并且应用程序使用这些静态实例来使用 BLL 方法。
哪一个在性能和设计方面最有效?
编辑:
选项1
public static class BllCustomer
{
public static List<ModelCustomer> GetCustomers()
{
}
}
// usage
BllCustomer.GetCustomers();
选项2
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();