Last active
December 3, 2023 05:43
-
-
Save artbear/e81e87e90b9acfcb1554de1fc6a3f866 to your computer and use it in GitHub Desktop.
Диаграмма DFA-классов для BSL Language Server - PlantUML
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@startuml Зачатки dfa | |
note "https://gist.github.com/artbear/e81e87e90b9acfcb1554de1fc6a3f866" as N1 | |
interface Assumption | |
note top: Допущение о типе переменной | |
class DummyAssumption | |
note top: Некая хрень | |
abstract class ConstantAssumption | |
note top: Константные значения\nлитералы | |
class StringConstantAssumption | |
class NumberConstantAssumption | |
class DateConstantAssumption | |
class UndefinedConstantAssumption | |
class NullConstantAssumption | |
note "Скорее всего,\nнужно использовать общий класс UndefinedOrNullConstantAssumption\nсмысл у них будет один и тот же:\nотсутствие значения и запрет дереференса, вызова метода" as N2 | |
UndefinedConstantAssumption .. N2 | |
NullConstantAssumption .. N2 | |
Assumption <|.. ConstantAssumption | |
Assumption <|.. DummyAssumption | |
ConstantAssumption <|-- StringConstantAssumption | |
ConstantAssumption <|-- NumberConstantAssumption | |
ConstantAssumption <|-- DateConstantAssumption | |
ConstantAssumption <|-- UndefinedConstantAssumption | |
ConstantAssumption <|-- Undefined | |
abstract class MethodCallAssumption | |
note top: При вычисления значения используются\nвызовы определенных глобальных методов или методов объектов | |
Assumption <|.. MethodCallAssumption | |
class DetailErrorDescriptionCallAssumption | |
note top: Вызов метода ПодробноеПредставлениеОшибки\n или ОбработкаОшибок.ПодробноеПредставлениеОшибки | |
MethodCallAssumption <|-- DetailErrorDescriptionCallAssumption | |
class BriefErrorDescriptionCallAssumption | |
note top: Вызов метода КраткоеПредставлениеОшибки\n или ОбработкаОшибок.КраткоеПредставлениеОшибки | |
MethodCallAssumption <|-- BriefErrorDescriptionCallAssumption | |
class ErrorDescriptionCallAssumption | |
note top: Вызов метода ОписаниеОшибки | |
MethodCallAssumption <|-- ErrorDescriptionCallAssumption | |
class NewAssumption | |
note bottom: А = Новый ХХХ(...) или Новый(ХХХ...) | |
Assumption <|.. NewAssumption | |
class StringAssumption | |
note bottom: Строки\А = СтроковаяФункцияХХХ() или литерал-строка [+ выражение]\nА = Формат(...)\nА = СтрШаблон(...) + выражение\nА = "литерал" + выражение\nА = "литерал" сюда не попадает, т.к. это явная константа | |
Assumption <|.. StringAssumption | |
@enduml | |
' Тип Символ Отображение | |
' Наследование <|-- | |
' Композиция *-- | |
' Агрегация o-- | |
' Зависимость <.. | |
' Ассоциация <-- | |
' Реализация (Имплементация) <|.. | |
' Class01 <|-- Class02 | |
' Class03 *-- Class04 | |
' Class05 o-- Class06 | |
' Class07 .. Class08 | |
' Class09 -- Class10 | |
' note "Эта заметка привязана\nсразу к нескольким классам" | |
' @startuml | |
' abstract abstract | |
' abstract class "abstract class" | |
' annotation annotation | |
' circle circle | |
' () circle_short_form | |
' class class | |
' diamond diamond | |
' <> diamond_short_form | |
' entity entity | |
' enum enum | |
' interface interface | |
' protocol protocol | |
' struct struct | |
' @enduml | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment