rusty-mermaid Gallery

25 diagram types — 297 diagrams rendered by rusty-mermaid

class (10)

class_annotations
implements <<interface>> Shape +area() : double +perimeter() : double <<enumeration>> Color RED GREEN BLUE <<abstract>> AbstractRenderer +render()* #setup() <<service>> UserService +getUser(id int) : User
Source (.mmd)
classDiagram
    class Shape {
        <<interface>>
        +area() double
        +perimeter() double
    }
    class Color {
        <<enumeration>>
        RED
        GREEN
        BLUE
    }
    class AbstractRenderer {
        <<abstract>>
        +render()*
        #setup()
    }
    class UserService {
        <<service>>
        +getUser(id int) User
    }
    Shape <|.. AbstractRenderer : implements
class_basic
Animal +String name +int age +makeSound() : void Dog +String breed +bark() : void
Source (.mmd)
classDiagram
    class Animal {
        +String name
        +int age
        +makeSound() void
    }
    class Dog {
        +String breed
        +bark() void
    }
    Animal <|-- Dog
class_cardinality
places 1 0..* contains 1 1..* Customer +String name +String email Order +int orderId +Date orderDate OrderItem +String product +int quantity +double price
Source (.mmd)
classDiagram
    class Customer {
        +String name
        +String email
    }
    class Order {
        +int orderId
        +Date orderDate
    }
    class OrderItem {
        +String product
        +int quantity
        +double price
    }
    Customer "1" --> "0..*" Order : places
    Order "1" *-- "1..*" OrderItem : contains
class_complex
extends extends owns 1 0..* examines creates <<abstract>> Animal +String name +int age +makeSound() : void +move() : void Dog +String breed +bark() : void +fetch() : void Cat +String color +boolean indoor +purr() : void +scratch() : void Owner +String firstName +String lastName +getFullName() : String Veterinarian +String license +examine(animal Animal) : Report Report +Date date +String diagnosis +boolean healthy
Source (.mmd)
classDiagram
    class Animal {
        <<abstract>>
        +String name
        +int age
        +makeSound()* void
        +move() void
    }
    class Dog {
        +String breed
        +bark() void
        +fetch() void
    }
    class Cat {
        +String color
        +boolean indoor
        +purr() void
        +scratch() void
    }
    class Owner {
        +String firstName
        +String lastName
        +getFullName() String
    }
    class Veterinarian {
        +String license
        +examine(animal Animal) Report
    }
    class Report {
        +Date date
        +String diagnosis
        +boolean healthy
    }
    Animal <|-- Dog : extends
    Animal <|-- Cat : extends
    Owner "1" o-- "0..*" Animal : owns
    Veterinarian ..> Animal : examines
    Veterinarian --> Report : creates
    note for Animal "Base class for all animals"
class_direction
feeds produces Input +read() : String Processor +process(data String) : Result Output +write(result Result) : void
Source (.mmd)
classDiagram
    direction LR
    class Input {
        +read() String
    }
    class Processor {
        +process(data String) Result
    }
    class Output {
        +write(result Result) void
    }
    Input --> Processor : feeds
    Processor --> Output : produces
class_generics
List<T> +add(item T) : void +get(index int) : T +size() : int Map<K, V> +put(key K, value V) : void +get(key K) : V +containsKey(key K) : boolean <<interface>> Comparable<T> +compareTo(other T) : int
Source (.mmd)
classDiagram
    class List~T~ {
        +add(item T) void
        +get(index int) T
        +size() int
    }
    class Map~K, V~ {
        +put(key K, value V) void
        +get(key K) V
        +containsKey(key K) boolean
    }
    class Comparable~T~ {
        <<interface>>
        +compareTo(other T) int
    }
    List~T~ ..> Comparable~T~ : uses
class_members
BankAccount +String owner +BigDecimal balance -String accountNumber #String bankCode ~int pin +deposit(amount BigDecimal) : void +withdraw(amount BigDecimal) : boolean -validatePin(pin int) : boolean #getStatement() : String$ ~transferInternal(to BankAccount)*
Source (.mmd)
classDiagram
    class BankAccount {
        +String owner
        +BigDecimal balance
        -String accountNumber
        #String bankCode
        ~int pin
        +deposit(amount BigDecimal) void
        +withdraw(amount BigDecimal) boolean
        -validatePin(pin int) boolean
        #getStatement() String$
        ~transferInternal(to BankAccount)*
    }
class_namespaces
Domain Service depends on User +String name +String email Order +int orderId +Date createdAt UserService +getUser(id int) : User +createUser(name String) : User OrderService +placeOrder(userId int) : Order
Source (.mmd)
classDiagram
    namespace Domain {
        class User {
            +String name
            +String email
        }
        class Order {
            +int orderId
            +Date createdAt
        }
    }
    namespace Service {
        class UserService {
            +getUser(id int) User
            +createUser(name String) User
        }
        class OrderService {
            +placeOrder(userId int) Order
        }
    }
    UserService --> User
    OrderService --> Order
    OrderService ..> UserService : depends on
class_relationships
inheritance composition aggregation dependency association Vehicle Car Engine Fleet Driver InsurancePolicy
Source (.mmd)
classDiagram
    class Vehicle
    class Car
    class Engine
    class Fleet
    class Driver
    class InsurancePolicy

    Vehicle <|-- Car : inheritance
    Car *-- Engine : composition
    Fleet o-- Car : aggregation
    Driver --> Car : dependency
    Car -- InsurancePolicy : association
class_styling
Controller +handleRequest() Service +process() Repository +findAll()
Source (.mmd)
classDiagram
    class Controller:::highlight {
        +handleRequest()
    }
    class Service {
        +process()
    }
    class Repository {
        +findAll()
    }
    Controller --> Service
    Service --> Repository
    classDef highlight fill:#f9f,stroke:#333,stroke-width:2px
    classDef dimmed fill:#eee,stroke:#999
    style Repository fill:#dfd,stroke:#393