백지부터 시작하는 이세계 코딩 생활

HashMap with MVC pattern 본문

JAVA/Map

HashMap with MVC pattern

조아덕 2020. 8. 11. 18:00

<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 + "]";
	}
}

pattern 결과

 

'JAVA > Map' 카테고리의 다른 글

HashMap  (0) 2020.08.11
Comments