mangocoder
[Java] MVC패턴의 흐름 본문
반응형
SMALL
1. java main 실행 했을때
MemberFC.service(null, ?);
1-2
MemberFC
static void service(String cmd, ?){
Action action = ActionMapper.getInstance().getAction(cmd);
Frame next=action.execute(?);
next.setVisible(true);
}
1-3
ActionMapper
static{
commands.put("menu", new NullAction(new MenuForm()));
commands.put("list", new ListAction(new ListForm()));
}
static ActionMapper getInstance(){return instance;}
Action getAction(String cmd){
if(cmd==null) cmd="menu";
return commands.get(cmd);
}
1-4
NullAction
Frame execute(?){return next;}
2.MenuForm에서 리스트버튼 눌렀을때
setVisible(false);
MemberFC.service("list", ?);
2-2
MemberFC
static void service(String cmd, ?){
Action action = ActionMapper.getInstance().getAction(cmd);
Frame next=action.execute(?);
next.setVisible(true);
}
2-3 1-3은 static이므로 이미 이전에 java main실행하면서 실행이 이미 된것으로 간주
ActionMapper //1-3은 static이므로 이미 이전에 java main실행하면서 실행이 이미 된것으로 간주
static{
commands.put("list", new ListAction(new ListForm()))
}
Action getAction(String cmd){
if(cmd==null) cmd="menu";
return commands.get(cmd);
2-4
ListAction
Frame execute(?){
List<MemberBean> = list.dao.selectMemberList();
((ListFrom)next) .setList(list);
return next;}
2-5
void ListForm
setList(List<MemberBean> dbList){
for(MemberBean bean:dbList){awtList.add(bean.getId());}
}
3.MenuForm에서 가입 버튼 눌렀을때
public void actionPerformed(ActionEvent e){
setVisible(false);
MemberFC.service("join-form", ?);
}
3-2
MemberFC
static void service(String cmd, ?){
Action action = ActionMapper.getInstance().getAction(cmd);
Frame next=action.execute(?);
next.setVisible(true);
}
3-3
ActionMapper
static ActionMapper getInstance(){return instance;}
Action getAction(String cmd){
if(cmd==null) cmd="menu";
if(commands.containsKey(cmd)) return commands.get(cmd);
else throw new RuntimeException("잘못된 명령어 : "+cmd);
}
3-4
반응형
LIST
'Java(자바)' 카테고리의 다른 글
[Java] CRUD(Create Read Update Delete)Test (0) | 2022.11.16 |
---|---|
[Java] 람다식 (0) | 2022.11.16 |
[Java] DB연동 (0) | 2022.11.16 |
[Java] 컬렉션, 제너릭 (0) | 2022.11.16 |
[Java] Exception (0) | 2022.11.16 |
Comments