@startuml skinparam classAttributeIconSize 0 class DefaultView extends JFrame class DefaultView extends ActionListener class DefaultView { + enum: RepresentableType - board: RepresentableBoard - frame: JFrame } interface IView { + void: updateView() + void: setDataSource(RepresentableBoard) + void: actionPerformed(ActionEvent e) } interface RepresentableBoard { + getWidth(): int + getHeight(): int + getCoordinateAsColor(int x, int y): color + getCoordinateAsString(int x, int y): String + getCoordinateAsIcon(int x, int y): Icon } DefaultView .down.|> IView DefaultView "1" o-Right- "0..1" RepresentableBoard : displays @enduml