我已經實現了一個java單例類使用枚舉方法。該類的代碼如下所示。java - 從基於枚舉的單例類中分離業務邏輯
我的問題是:我如何將業務邏輯從這個單例類中分離出來,或者分開除了創建單例類之外的其他函數?
既然現在我已經把整個類聲明爲一個枚舉,我應該聲明它爲一個類,然後在裏面創建一個枚舉屬性或採取另一種方法?
這是我的單身代碼。
enum TransactionHelper implements ISerialize
{
Instance;
private int serializePreFixCount = 1;
/**
* This method serializes transaction on Disk.
*/
@Override
public void serializeOnDisk()
{
//some code here
}
/**
* This method serializes transaction on network stream.
*/
@Override
public void serializeOnNetwork()
{
//some code here
}
}
當我需要使用這個類時,我使用它。
TransactionHelper.Instance.serializeOnNetwork();
TransactionHelper.Instance.serializeOnDisk();
謝謝。
「我如何將業務邏輯從這個單例中分離出來?」 - 假設它處理單身 - 你不! – alfasin
爲什麼單身?具體來說,如果foo和bar都有不同的'TransactionHelper'實例,會發生什麼?請解釋,或給堆棧跟蹤,顯示錯誤。 – Thufir
singelton應該只允許您創建一個對象。不管foo和bar是否自己實例化,它們仍然具有相同的對象。 – user3836750