Это становится немного сложнее. Я использую шаблон состояний в своем приложении для управления состояниями. Я хочу, чтобы в моем приложении был один экземпляр каждого состояния, но я не хочу делать каждый класс состояний единичным. Другой подход, который приходит мне в голову - это написание класса StateLocator. StateLocator может быть одноэлементным и может содержать экземпляры всех состояний. Пожалуйста, объясните мне, является ли StateLocator хорошим решением или есть какие-то другие решения, в которых я все еще смогу иметь только один экземпляр состояния и потенциально могу избежать одиночных событий.
Любая помощь приветствуется. например,
public interface TestState {
public void onTest();
public void onApprove()
}
class StateA implements TestState {
public void onTest() {
}
public void onApprove() {
}
}
class StateB implements TestState {
public void onTest() {
}
public void onApprove() {
}
}
class StateLocator {
private StateA mStateA;
private StateB mStateB;
StateLocator() {
mStateA = new StateA();
mStateB = new StateB();
}
public TestState getState(int stateType) {
if(stateType == 1) {
return mStateA;
} else {
return mStateB;
}
}
}