[Javaをガチャガチャ]ドメインモデルを使用する


ドメインモデル
  • は、実施すべきドメイン(ビジネス領域)モデルを作成するために、オブジェクト分析向けに設計されたモデル
  • に基づいている.
  • ドメインにおけるオブジェクト判別、リストとオブジェクトとの関係
  • .
  • 属性と機能分離
  • 単純:1つのテーブル=1つのドメインオブジェクト
  • 再利用可能、メンテナンスが容易、拡張性
  • 型番は
  • を実施することが困難である.
    People.java
    package model.domain;
    
    public class People {
    	// private -> set메소드를 사용하는 이유, 정보 은닉, 객체 지향 등등
    	private String name;
    	private int age;
    	
    	// 다른 패키지에서 사용하려면 public을 함께 해줄 것
    	public People(){}
    	
    	public People(String name, int age){
    		this.name = name;
    		this.age = age;
    	}
    	
    	// get메소드 : 값을 알려주는 역할
    	public String getName() {
    		return name;
    	}
    	
    	public int getAge() {
    		return age;
    	}
    	
    	// set메소드 : 값을 바꿔주는 역할
    	public void setName(String name) {
    		this.name = name;
    	}
    	
    	public void setAge(int age) {
    		if (age >= 0) {
    			this.age = age;
    		} else {
    			System.out.println("나이를 확인해주세요.");
    		}
    	}
    	
    	
    }
    
    Practice.java
    package ---; // 본인에게 알맞은 패키지명으로 변경
    
    import model.domain.People; // import 해야 People 클래스 내부 요소들을 활용할 수 있음
    
    public class Practice {
    	// 매개변수로 들어오는 값(name)을 비교하여 같을 경우(admin) true를 반환하는 메소드
    	static boolean checkAdmin(String name) {
    		if (name.equals("admin")) {
    			return true;
    		} else {
    			return false;
    		}
    	}
    	
    	// 객체를 생성하여 클래스 타입으로 된 리스트에 담아주는 메소드
    	static People[] peopleArray() {
    		People s1 = new People("Java", 25);
    		People s2 = new People("Python", 29);
    		
    		// People 타입으로된 것들을 담아줌
    		People[] v = {s1, s2};
    		return v;
    	}
    
    	// printPeopleName(People[] v){} - 배열 내부의 모든 사람 이름 출력 
    	static void printPeopleName(People[] v){
        	 	// 방법 1
    //		for (int i = 0; i < v.length; i++) {
    //			System.out.println(v[i].getName());
    //		}
    		
    	        // 방법 2
    		for(People person : v) {
    			System.out.println(person.getName());
    		}
    	}
    	
    	public static void main(String[] args) {
    		// 함수 호출
    		checkAdmin("admin");
    
    		// printPeopleName 메소드 결과 확인
    		People[] v = peopleArray();
    		printPeopleName(v);
    	}
    
    }