0
.NET
フレームワークを使ってプログラミングを練習しており、実際にSingleton pattern
とState pattern
と混同しています。私はシングルトンパターンで作業しようとしましたが、どのようにして同じクラスにStateパターンを実装することができますか?私のコードは、プロパティをautoimplementedたBankAccount
である、すなわちAccountStateID
シングルトンパターンで状態パターンに1つのクラスで取り組むにはどうすればいいですか
public class BronzeState : AccountStates
{
//static member
private static BronzeState bronzeState;
//constructor
private BronzeState()
{
this.LowerLimit = 0;
this.UpperLimit = 5000;
this.Rate = 0.01/100;
}
public static BronzeState GetInstance()
{
if (bronzeState != null)
return bronzeState;
else
{
bronzeState = new BronzeState();
return bronzeState;
}
}
public void StateChangeCheck(BankAccount bankAccount)
{
if (bankAccount.Balance > UpperLimit)
{
bankAccount.AccountState = new SilverState();
}
}
}
//same goes with GoldSte , SilverState, PlatinumState.
私の唯一の問題は、私はバランスがよりその上限がある場合の状態を変更する状態パターンを使用する方法です。