私はすでにうまく機能するレイヤードデータアクセス設計を持っています。しかし、それが最も適切な実装かどうかわかりません。
BLLのクラスやメトトが静的であるべきか、インスタンスが1つしかないクラスを作成する必要があることを知りたいだけですか?
そのようなSOA設計でBLLクラスを使用するには、私はその間にBLLクラスをシリアライズする必要はありません。しかし、私は機能がもたらすものは分かりません。次のオプションで
ルック:
BLLクラスをスタティックまたは?
- BLLクラスとmethotsは静的
- BLLクラスは静的ではありませんされているが、そのmethotsは静的
- BLLクラスは、静的もそのmethotsではありませんされています。アプリケーションは、そのメトトにアクセスするたびに、毎回BLLクラスを作成する必要があります。
- BLLクラスは静的でもメトールでもありません。しかし、各BLLクラスのインスタンスは1つだけです。そして、アプリケーションは、BLLメトトを使用するためにこれらの静的インスタンスをinorderで使用します。
パフォーマンスとデザインで最も効果的なのはどちらですか?
EDIT:
オプション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
あなたのドメイン層は、一般的にあなたのビジネスルールや複雑な処理ロジックを保持しているとして、あなたのドメイン/ BusinessLogicLayerクラスをシリアル化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();
なぜ人々はこの問題に対して意見を述べないと主張するのですか、私は単に理解できません。おそらく、彼らは他の多くの質問でこのトピックを見ることができません。はい、私は自分自身に話しています。あなたの意見に感謝します。 – Fer