1. 내가설계한 template method pattern 예제
제목 : 프로그래밍
template method pattern이란 알고리즘의 뼈대를 만들어 전체적인 레이아웃을 통일 시키지만 상속받은 클래스로 하여금 어느정도 유연성을 주도록하는 패턴이다.
추상 메소드와 훅 메소드를 적절히 사용해서 전체적인 알고리즘의 뼈대를 유지하되 유연하게 기능을 변경 할 수 있도록 하고자 할 때 사용한다.
이번에 내가 설계한 template method pattern예제는 프로그래밍 시스템이다. c언어와 자바언어를 작성할 때 각각 맞는 툴은 다르지만 코드를 작성하고 컴파일하는 전체적인 구조는 같기 때문에 선정하였다.
2. 코드 설명
1)client 클래스
client 클래스에서 시스템이 시작한다. programming클래스를 상속받은 c와 java programming클래스를 이용하여 각각의 언어에 맞는 프로그래밍을 한다.
public class client {
public static void main(String[]args) {
programming cp = new CProgramming();
programming jp = new JavaProgramming();
cp.working();
System.out.println();
jp.working();
}
}
2)programming 추상 클래스
programming 추상 클래스는 시스템에서 전체적인 골격을 잡아주는 역할을한다. 코드작성과 컴파일부분은 같기 때문에 하나로 작성하였고 개발툴은 다르기 때문에 추상 메소드로 만들었다.
abstract public class programming {
public void working() {
intro();
tool();
System.out.println("코드를 작성한다.");
System.out.println("코드를 컴파일 한다.");
System.out.println("A+를 받는다.");
}
public abstract void tool();
public abstract void intro();
}
3)CProgramming 클래스
CProgramming 클래스는 programming클래스를 상속받아 c언어 개발에 맞는 visualstudio tool을 사용한다.
public class CProgramming extends programming{
public void intro() {
System.out.println("C프로그래밍 입니다.");
}
public void tool() {
System.out.println("Visual Studio를 실행한다.");
}
4)JavaProgramming
JavaProgramming 클래스는 programming클래스를 상속받아 c언어 개발에 맞는 eclipse tool을 사용한다.
public class JavaProgramming extends programming{
public void intro() {
System.out.println("java프로그래밍 입니다.");
}
public void tool() {
System.out.println("eclipse를 실행한다.");
}
3. 클래스다이어그램
4. 코드 실행결과
'학교공부' 카테고리의 다른 글
텔넷 (0) | 2018.12.03 |
---|---|
이해하기쉬운 command pattern 예제 (0) | 2018.11.25 |
이해하기쉬운 bridge pattern 예제 (0) | 2018.11.23 |
쉽게설명한 전자상거래 유형 (0) | 2018.11.22 |
이해하기쉬운 abstract factory pattern 예제 (2) | 2018.11.22 |