분류 전체보기
훗~
DSLR
Mac
Reference
private

[Java] State를 more stylish하게 유지 하려면?

State를 more stylish하게 유지 하려면..
이라.. 제목은 거창한데 사실 별거 아니고,
역시나 초보적인 고민인데.. (-- )( --);;

일단 아래 코드를 보면..
각 situation에 따라서 State class의 'State'를 바꾸어 주는건데..
참 단순무식하게 코딩해놨다..;;


머, 사실 이렇게 하는게 틀렸다거나 하는건 아니지만..
이런 코드가 여기저기 난립하게 된다면,
유지보수에 있어 큰 문제가 생길것이다..
(사실 지금 생겼었다..)

"몇몇 필요로 하는 'State'에 대해서 한군데 모아놓고 처리할 좋은 방법이 없을까?"

결국 이 고민에 대한 답을 찾고자 하는것인데..

단무지틱한 생각으로 접근하면..
정말 단순하게 해결(?)된다..


한군데서 모아서 처리해야 한다는 전제를 충족시켜 주기에..
머 나쁘지 않다..하지만 Stylish하지는 않다..

그렇다면
Enum type을 써서 만들어 보면 어떨까..??


움..해놓고 보니..
썩 좋아보이지는 않는다.. ;;
more Stylish 보다는 more '귀찬아'질듯..ㅎㅏ하하하하


일단 고민 좀 더 해봐야 할듯..ㅋ;




락군
0TRACKBACK, 2REPLIES
  2008.12.22 12:31 신고 | link | edit or delete | write reply 
사실 정답은 없지만 위 코드만을 보고 몇가지 추천해보자면 ~

1. primitive나 자바 타입이 아닌 형식에 대한 Util성의 static method는 최소화되는게 좋아보임
2. 대부분의 switch case는 상속, 구현, 위임 등 을 통해 좀더 확장석있게 OOP 스러워질수 있음
3. enum을 일반적인 객체 처럼 사용하는건 별로 좋지 않은듯 함~

머 결론은...

StateUtil.setAllState(state, Situation.A);

라고 불리던게

Situation a = new SituationA();
a.situate(state);

이런식으로 바뀌어서 switch case 분기를 제거하는 형태 정도가 될듯
  2008.12.22 14:40 신고 | link | edit or delete  
아하~
name
password
homesite
*1  *···  *107  *108  *109  *110  *111  *112  *113  *114  *115  *···  *204