처음부터 디자인 모델 인식 - 전략 모델 - 02 - 사고 과정 1: 계승 에서 도입 내 보 내기 방법 추가

2776 단어 디자인 모드
우 리 는 위의 수요 변화 문제 에 이 어 첫 번 째 해결 방안 을 제시 합 니 다. BaseServiceImpl 에 통 일 된 내 보 내기 도입 방법 을 추가 합 니 다.
1. 코드 목록
기본 클래스: 기본 클래스 에 가 져 오기 내 보 내기 방법 을 추가 한 다음 에 계승 하 는 특성 에 따라 다른 몇 가지 실현 도 가 져 오기 내 보 내기 방법 을 가 져 올 수 있 습 니 다.
package com.raylee.designpattern.strategy.ch02;

/**
 *                     ,              。<br>
 *          <br>
 * 
 * @author raylee
 * @data 2016-03-16
 * @version 1.1
 */
public class BaseServiceImpl {
	public void add() {
		System.out.println("add a new object");
	}

	public void update() {
		System.out.println("update object");
	}

	public void query() {
		System.out.println("query and return a object");
	}

	public void delete() {
		System.out.println("delete the object");
	}

	public void importObjects() {
		System.out.println("import the objects");
	}

	public void exportObjects() {
		System.out.println("export the objects");
	}
}

아래 의 몇 가지 계승 실현 류 는 변 하지 않 는 다.
package com.raylee.designpattern.strategy.ch02;

/**
 * @TODO          
 * @author raylee
 * @date 2016 3 16 
 * @version 1.0
 */
public class CourseServiceImpl extends BaseServiceImpl {

}
package com.raylee.designpattern.strategy.ch02;

/**
 * @TODO          
 * @author raylee
 * @date 2016 3 16 
 * @version 1.0
 */
public class UserServiceImpl extends BaseServiceImpl {

}
package com.raylee.designpattern.strategy.ch02;

/**
 * @TODO          
 * @author raylee
 * @date 2016 3 16 
 * @version 1.0
 */
public class DeptServiceImpl extends BaseServiceImpl {

}

우 리 는 client 에서 내 보 내기 방법 을 가 져 오 려 고 시도 합 니 다.
package com.raylee.designpattern.strategy.ch02;

public class Client {
	//    、  、        
	public static void main(String[] args) {
		CourseServiceImpl courseServiceImpl = new CourseServiceImpl();
		courseServiceImpl.importObjects();
		courseServiceImpl.exportObjects();
		UserServiceImpl userServiceImpl = new UserServiceImpl();
		userServiceImpl.importObjects();
		userServiceImpl.exportObjects();
		DeptServiceImpl deptServiceImpl = new DeptServiceImpl();
		deptServiceImpl.importObjects();
		deptServiceImpl.exportObjects();
	}
}

출력:
import the objectsexport the objectsimport the objectsexport the objectsimport the objectsexport the objects
2. 문제
위의 출력 에서 볼 수 있 듯 이 가 져 와 서 그 부분 을 내 보 내야 하 든 그의 가 져 오기 내 보 내기 결 과 는 똑같다.
그러나 실제 상황 에 서 는 부분 별로 내 보 내기 결 과 를 가 져 오 는 것 이 다르다.
3. 결론
위의 방향 이 통 하지 않 으 니 다른 방향 을 찾 아야 한다.
요약: 이 장 은 계승 에서 도 출 방법 을 추가 하 는 것 이 통 하지 않 고 다른 방법 을 찾 아야 한 다 는 것 을 논술 했다.
디 렉 터 리:
나의 github:https://github.com/raylee2015/designpattern

좋은 웹페이지 즐겨찾기