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