Skip to content
PlantUML templates

PlantUML — Class Diagram

Pure UML class diagram with interfaces, generics and stereotypes.

Template previewPlantUML
Rendering…

Make it your own.

@startuml
skinparam classAttributeIconSize 0

interface Repository<T> {
  +findById(id: UUID): T
  +save(entity: T): void
}

abstract class Entity {
  +id: UUID
  +createdAt: Instant
}

class Customer extends Entity {
  +email: String
  +name: String
}

class Order extends Entity {
  +total: Money
  +status: OrderStatus
}

enum OrderStatus {
  PENDING
  PAID
  SHIPPED
  CANCELLED
}

class CustomerRepository implements Repository
class OrderRepository implements Repository

Customer "1" o-- "*" Order : places >
Order o-- OrderStatus
@enduml