백지부터 시작하는 이세계 코딩 생활
HashMap with MVC pattern 본문
<MAIN>
package s0526;
//IOSDE 기능을 map을 써서 구현한다.
import s0526_controller.Controller;
public class Ch23Ex02_Map_ex extends Controller {
public static void main(String[] args) {
Controller.controller();
main(null);
}
}
<CONTROLLER>
package s0526_controller;
import java.util.Scanner;
import s0526_model.Dao;
import s0526_model.View;
public class Controller implements View {
static Scanner sc = new Scanner(System.in);
@Override
public void show() {
// TODO Auto-generated method stub
}
public static void massage() {
System.out.println("1.입력 2.출력 3.검색 4.종료\n선택: ");
}
public static void controller() {
System.out.println("이벤트입력");
massage();
int no = sc.nextInt();
Dao dao = new Dao();
switch (no) {
case 1:
massage();
dao.input();
break;
case 2:
massage();
dao.output();
break;
case 3:
massage();
dao.search();
break;
case 4:
massage();
dao.end();
break;
default:
System.out.println("--잘못된입력--");
System.exit(0);
}
}
}
<MODEL>
-View
package s0526_model;
public interface View {
void show();
}
class Input implements View {
@Override
public void show() {
// TODO Auto-generated method stub
System.out.println("<< input check");
}
}
class Output implements View {
@Override
public void show() {
// TODO Auto-generated method stub
System.out.println("<< output check");
}
}
class Search implements View {
@Override
public void show() {
// TODO Auto-generated method stub
System.out.println("<< search check");
}
}
class End implements View {
@Override
public void show() {
// TODO Auto-generated method stub
System.out.println("<< end check");
System.exit(0);
}
}
-Dao
package s0526_model;
import java.util.Hashtable;
import java.util.Scanner;
public class Dao {
static Scanner sc = new Scanner(System.in);
static Hashtable<Integer, View> requestMap = new Hashtable<Integer, View>();
public void input() {
requestMap.put(1, new Input());
View view = requestMap.get(1);
view.show();
}
public void output() {
requestMap.put(2, new Output());
View view = requestMap.get(2);
view.show();
}
public void search() {
requestMap.put(3, new Search());
View view = requestMap.get(3);
view.show();
}
public void end() {
requestMap.put(4, new End());
View view = requestMap.get(4);
view.show();
}
}
-Dto
package s0526_model;
public class Dto {
int no;
public Dto() {
this(0);
}
public Dto(int no) {
this.no = no;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
@Override
public String toString() {
return "Dto [no=" + no + "]";
}
}
Comments