UML (Unified Modeling Language)์ ํตํฉ ๋ชจ๋ธ๋ง ์ธ์ด์
๋๋ค. ๋๋ alex8894 ์ UML ๋ค์ด์ด๊ทธ๋จ ๊ตฌ์ฑ์ ์ํ CASE ๋๊ตฌ ๊ฒํ ์ ๋ฉ์ง ํฌ๋ผ ์คํ ๋ฆฌ์์ UML์ ๋ํด ๋ฐฐ์ ์ต๋๋ค . ๋ด๊ฐ ์๋ ํ, Robert Cecil Martin์ด ์ด " UML for Java Programmers "๋ผ๋ ์ฑ
์ ํ์ฌ UML์ด ์ถํ๋ ํ ๋ฐํจ๋์๊ธฐ ๋๋ฌธ์ UML 1 ํ์ค์ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ๊ทธ๋ฌํ ๋ธ๋ก ๋ค์ด์ด๊ทธ๋จ์ ๊ตฌ์ฑํ๋ ๊ธฐ๋ณธ ์์น์ ํฐ ๋ณํ ์์ด ๊ทธ๋๋ก ์ ์ง๋์๋ค๊ณ ๋ฏฟ์ต๋๋ค. ๊ฐ์์ ๊ต์ก ์:
/*
* (c) Volodya Mozhenkov 2015
* GPL version 3.0
* Almost University http://www.almost-university.com/
* VladimirMozhenkov@yahoo.com
*
*/
// ัะฐะนะป Main.java
public class Main
{
private static void printRes(MyResult r)
{
if(r.hasResult())
{
System.out.print("ะ ะตะทัะปััะฐั ะธัะฟะพะปะฝะตะฝะธั: ");
System.out.println(r.getResult());
}
else
{
System.out.println("ะ ะตะทัะปััะฐั ะพััััััะฒัะตั");
}
}
public static void main(String[] args)
{
MyCalculator c1 = new MyCalculator('/');
MyResult r = c1.calculate(4, 2);
printRes(r);
r = c1.calculate(40, 13);
printRes(r);
r = c1.calculate(1, 0);
printRes(r);
c1 = new MyCalculator('^');
r = c1.calculate(2, 25);
printRes(r);
}
}
// ัะฐะนะป MyCalculator.java
public class MyCalculator
{
private class ResultClass implements MyResult
{
boolean valid;
int result = 0;
public ResultClass()
{
valid = false;
}
public ResultClass(int result)
{
this.result = result;
valid = true;
}
public int getResult()
{
return result;
}
public boolean hasResult()
{
return valid;
}
}
private char operation;
public MyCalculator(char operation)
{
this.operation = operation;
}
public MyResult calculate(int a, int b)
{
MyResult res;
switch(operation)
{
case '*':
res = new ResultClass(a*b);
break;
case '/':
if(b!=0)
{
res = new ResultClass(a/b);
}
else
{
res = new ResultClass();
}
break;
case '+':
res = new ResultClass(a+b);
break;
case '-':
res = new ResultClass(a-b);
break;
default:
res = new ResultClass();
break;
}
return res;
}
}
// ัะฐะนะป MyResult.java
public interface MyResult
{
public int getResult();
public boolean hasResult();
}
๊ทธ๋ฆฌ๊ณ ํ๋ก๊ทธ๋จ์ ๋ฌด๋ฃ ๋ฒ์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋งํธํฐ์ ์ด ํ๋ก๊ทธ๋จ์ ๋ค์ ๋ธ๋ก ๋ค์ด์ด๊ทธ๋จ์ ๋น ๋ฅด๊ฒ ๊ทธ๋ ธ์ต๋๋ค(๋ฌผ๋ก UML์ ๋ง ๊ด์ฌ์ ๊ฐ๊ธฐ ์์ํ๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๋ ๋ฐ์ํ์ต๋๋ค) . ๋์ผํ Intellij IDEA์ UML ๋ค์ด์ด๊ทธ๋จ/๋ค์ด์ด๊ทธ๋จ์ด ํ๋ก๊ทธ๋จ์ ๊ตฌ์ถํ๋ ๊ฒ๊ณผ ๋น๊ตํด ๋ณด์ธ์.
GO TO FULL VERSION