디자인 모드 입문

16022 단어
최근 에 디자인 모델 을 배우 고 싶 은 데 인터넷 에서 헤드 퍼스트 디자인 모델 북 이 좋다 고 해서 한 편 더 공 고 히 하 겠 습 니 다.
이 야 기 는 이렇다. 샤 오 밍 은 갓 졸업 한 젊은이 이다. 그 는 게임 회사 에 와 서 실습 을 하고 프로젝트 매니저 는 샤 오 밍 에 게 실습 임 무 를 배정 했다.
하나의 게임 캐릭터 를 설계 합 니 다. 캐릭터 속성 은 (공 격 력, 방 어 력, 민첩 도... 등등), 그리고 두 개의 금수 랑 스 킬 (플래시 와 인화) 을 포함 합 니 다.
샤 오 밍 은 이렇게 간단 한 생각 을 했 습 니까? 만약 그 가 하루 의 시간 을 써 서 다음 과 같은 코드 를 썼 다 면.
public class GameRole {
    
    private int atk; //    
    private int def; //    
    private int dex; //    
    
    public void flash_move() {
        System.out.println("          ");
    }
    
    public void ignite() {
        System.out.println("         5 s");
    }
}

프로젝트 매니저 는 샤 오 밍 이 이렇게 빨리 임 무 를 완성 하 는 것 을 보고 샤 오 밍 을 칭찬 하 자 샤 오 밍 은 마음 이 즐 거 웠 다.그리고 프로젝트 매니저 는 샤 오 밍 에 게 두 개의 캐릭터 를 더 설계 하 는 임 무 를 주 었 다. 그들의 금수 랑 스 킬 은 각각 (플래시, 치료), (플래시, 전송) 이다.
샤 오 밍 은 이것 이 나 를 난처 하 게 할 수 없다 고 생각 했다. 그리고 그 는 여전히 하루 만 에 다음 과 같은 코드 를 썼 다.
public class GameRole {
    
    private int atk; //    
    private int def; //    
    private int dex; //    
    
    public void flash_move() {
        System.out.println("          ");
    }
    
    public void ignite() {
        System.out.println("   100      30%   ");
    }
}

public class GameRole {
    
    private int atk; //    
    private int def; //    
    private int dex; //    
    
    public void flash_move() {
        System.out.println("          ");
    }
    
    public void ignite() {
        System.out.println("             ");
    }
}

샤 오 밍 은 신 이 나 서 프로젝트 매니저 에 게 달 려 가서 보 여 주 었 다. 프로젝트 매니저 는 샤 오 밍 이 오 는 것 을 보고 이 젊은이 가 괜찮다 고 생각 했다. 이렇게 빨리 끝 냈 다.
그리고 프로젝트 매니저 는 그의 코드 를 보 았 습 니 다. 이것 은 괜 찮 습 니 다. 보 자마자 샤 오 밍 을 가리 키 며 욕 을 했 습 니 다. 당신 은 정말 나 쁜 프로그래머 입 니 다!! 그리고 샤 오 밍 에 게 코드 를 바 꾸 라 고 했 습 니 다.
샤 오 밍 은 이때 아직 잘 모 르 겠 어 요. 제 기능 이 모두 실현 되 었 잖 아 요. 아무 문제 가 없 었 어 요. 그리고 샤 오 밍 은 이 유 를 모 르 고 사무실 직원 에 게 물 었 습 니 다. 직원 은 그 에 게 코드 의 중복 도가 너무 높다 고 말 했 습 니 다.
샤 오 밍 은 그 러 자 하루 의 시간 을 들 여 다음 과 같은 코드 로 바 꾸 었 다.
public abstract class GameRole {
    
    private int atk; //    
    private int def; //    
    private int dex; //    
  
  // Getter and Setter method
public void flash_move() { System.out.println(" "); } public abstract void skill(); }
public class Role_One extends GameRole { @Override public void skill() { // TODO Auto-generated method stub System.out.println(" 5 s"); } }
public class Role_Two extends GameRole { @Override public void skill() { // TODO Auto-generated method stub System.out.println(" 100 30% "); } }
public class Role_Three extends GameRole { @Override public void skill() { // TODO Auto-generated method stub System.out.println(" "); } }

이번에 샤 오 밍 은 지루 함 이 확실히 떨 어 졌 다 고 생각 하고 프로젝트 매니저 에 게 보 여 주 었 다. 프로젝트 매니저 는 보고 괜 찮 은 것 같 아서 또 하나의 임 무 를 배정 했다. (게임 사용 자 는 금수 랑 스 킬 을 자 유 롭 게 선택 하 기 를 바 랍 니 다) 그래서 임 무 는 금수 랑 스 킬 을 임의로 조합 하 는 것 입 니 다.
샤 오 밍 은 내 가 쓴 이런 코드 는 고 칠 필요 가 없 을 것 같 아서 심 부 름 을 할 수 있 을 것 같 아서 샤 오 밍 은 이틀 동안 게 으 름 을 피 운 후에 프로젝트 매니저 에 게 보고 했다.
프로젝트 매니저 는 이 코드 가 변 하지 않 았 다 는 것 을 보고 샤 오 밍 에 게 물 었 다. 너 코드 가 여기 야? 샤 오 밍 이 대답 했다. 그리고 샤 오 밍 은 또 욕 을 먹었다.
그 이 유 를 알 수 없 는 샤 오 밍 은 또 사무실 직원 에 게 물 었 다. 잘 생각해 보 세 요. 100 개 (플래시, 인화), 100 개 (플래시, 치료), 100 개 (전송, 치료) 가 있다 면?
샤 오 밍 은 갑자기 큰 깨 달 음 을 얻 었 다. 그것 도 아주 높 은 지루 함 이 있 었 다. 3 일 동안 생각 한 후에 샤 오 밍 은 최종 답 을 생각해 냈 다.
public abstract class GameRole {
private int atk; // private int def; // private int dex; // private Skills skill_One; private Skills skill_Two;
  // Getter and Setter method
} public class Role_Demo extends GameRole { }
public interface Skills {
    public void skill();
}

public class Flush_Move implements Skills {
    @Override
    public void skill() {
        // TODO Auto-generated method stub
        System.out.println("          ");
    }
}

public class Ignite implements Skills {
    @Override
    public void skill() {
        // TODO Auto-generated method stub
        System.out.println("         5 s");
    }
}

public class Treat implements Skills {

    @Override
    public void skill() {
        // TODO Auto-generated method stub
        System.out.println("   100      30%   ");
    }
}
public class Main {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Role_Demo role = new Role_Demo();
        role.setSkill_One(new Flush_Move());
        role.setSkill_Two(new Ignite());
        role.getSkill_One().skill();
        role.getSkill_Two().skill();
    }
}

샤 오 밍 은 다 썼 다. 이번에 샤 오 밍 은 또 욕 을 먹 을 까 봐 직원 샤 오 화 에 게 물 었 다. 샤 오 화 는 잘 썼 냐 고 말 하 자 샤 오 밍 은 놀 라 서 심 부 름 을 갔다.
프로젝트 매니저 는 샤 오 밍 이 오 는 것 을 보고 샤 오 밍 의 멘 붕 을 보 며 마음속 으로 웃 고 싶 었 다. 그리고 코드 를 보 니 이번 에는 문제 가 없다 는 것 을 알 고 안심 하고 마지막 임 무 를 맡 겼 다.
영웅 마다 4 개의 다른 스 킬 추가:
샤 오 밍 은 코드 를 몇 번 쓴 경험 을 거 쳐 하루 만 에 썼 다.
public abstract class GameRole {
    private int atk; //    
    private int def; //    
    private int dex; //    
    private Skills skill_One;
    private Skills skill_Two;
    
    //    Getter and Setter method
    
    public abstract void Skill_One();
    public abstract void Skill_Two();
    public abstract void Skill_Three();
    public abstract void Skill_Four();
}

public class Role_Demo extends GameRole {

    @Override
    public void Skill_One() {
        // TODO Auto-generated method stub
    }

    @Override
    public void Skill_Two() {
        // TODO Auto-generated method stub    
    }

    @Override
    public void Skill_Three() {
        // TODO Auto-generated method stub    
    }

    @Override
    public void Skill_Four() {
        // TODO Auto-generated method stub    
    }
}

이 몇 번 의 임 무 를 통 해 샤 오 밍 은 코드 가 더 예 쁘 고 우아 해 졌 다 고 느 꼈 다. 허리 도 아 프 지 않 고 등 도 아 프 지 않 았 다. 샤 오 밍 이 임 무 를 맡 은 후에 프로젝트 매니저 도 만 족 스 러 운 미 소 를 지 었 다.
마지막 으로 샤 오 밍 은 실습 을 성공 적 으로 통 과 했 지만 프로젝트 매니저 는 그 에 게 다음 임 무 를 배정 해 주 었 다.

좋은 웹페이지 즐겨찾기