alexey-malov / ood

Объектно-ориентированное проектирование
23 stars 21 forks source link

Перевести диаграммы классов в заданиях лабораторных работ в формат mermaid #9

Closed alexey-malov closed 3 weeks ago

alexey-malov commented 1 month ago

Нужно перевести диаграммы классов, используемые в лабораторных работах по OOD из растрового вида в формат mermaid. В этом случае диаграмму можно описать прямо внутри файда README.md лабораторной работы, используя разметку.

```mermaid
classDiagram
  namespace gfx {
    class Drawable {
      +Draw(canvas: Canvas)
    }
    class Canvas {
      +MoveTo(x: double, y: double)
      +LineTo(x: double, y: double)
    }
  }

  namespace zoo {
    class Animal {
      +Eat()
      +GetName() string
      +SetName(name: string)
      -m_name:string
    }
    class Dog {
      +Draw(canvas: Canvas)
      +Bark()
    }

    class Zoo {
      -m_animals: vector~unique_ptr~Animal~~
      +AddAnimal(animal: unique_ptr~Animal~)
      +GetAnimalCount() size_t
      +GetAnimal(index: size_t) Animal&
      +Draw(canvas: Canvas)
    }
  }
  <<interface>> Drawable
  <<interface>> Canvas
  <<Abstract>> Animal

  Animal <|-- Dog
  Drawable <|.. Animal
  Canvas <.. Drawable
  Dog ..> Canvas
  Zoo *-- Animal
  Zoo ..> Animal
  Zoo ..|> Drawable
  Zoo ..> Canvas
classDiagram
  namespace gfx {
    class Drawable {
      +Draw(canvas: Canvas)
    }
    class Canvas {
      +MoveTo(x: double, y: double)
      +LineTo(x: double, y: double)
    }
  }

  namespace zoo {
    class Animal {
      +Eat()
      +GetName() string
      +SetName(name: string)
      -m_name:string
    }
    class Dog {
      +Draw(canvas: Canvas)
      +Bark()
    }

    class Zoo {
      -m_animals: vector~unique_ptr~Animal~~
      +AddAnimal(animal: unique_ptr~Animal~)
      +GetAnimalCount() size_t
      +GetAnimal(index: size_t) Animal&
      +Draw(canvas: Canvas)
    }
  }
  <<interface>> Drawable
  <<interface>> Canvas
  <<Abstract>> Animal

  Animal <|-- Dog
  Drawable <|.. Animal
  Canvas <.. Drawable
  Dog ..> Canvas
  Zoo *-- Animal
  Zoo ..> Animal
  Zoo ..|> Drawable
  Zoo ..> Canvas
alexey-malov commented 1 month ago

Вознаграждение: 1/2 баллов за любую лабораторную работу по компьютерной графике

alexey-malov commented 1 month ago

Решение присылать в виде Pull Request в этот репозиторий

alexey-malov commented 3 weeks ago

Pull Request-ы приняты, баллы выставлены