某人能否提供一個結構/模式允許以下兩項工作:如何允許一次性資產的多餘嵌套'創作'?
public void DoSomething()
{
using (var connection = Connect())
{
connection.DoThatThing();
}
}
public void DoSomethingTwice()
{
using (var connection = Connect())
{
DoSomething();
DoSomething();
}
}
我心目中的是,當DoSomethingTwice()
被調用時,只有一個連接應建立,並應該得到重新利用通過DoSomething
調用(但不是由他們處置!)。
編輯:我打算使用這種模式很多,所以我想避免重載的DoSomething(連接),並將複雜性隱藏在Connect()方法中。
我的最大努力將作爲答案。
'DoSomethingTwice'調用'DoSomething'兩次,從而創建兩個連接,當只需要一個時。如果重構,它可以重新使用連接。 – Servy