@startuml package com.iluwatar.front.controller { class ArcherView { + ArcherView() + display() } interface View { + display() {abstract} } class CatapultView { + CatapultView() + display() } class ArcherCommand { + ArcherCommand() + process() } class App { + App() + main(args : String[]) {static} } class FrontController { + FrontController() - getCommand(request : String) : Command - getCommandClass(request : String) : Class {static} + handleRequest(request : String) } class UnknownCommand { + UnknownCommand() + process() } class ErrorView { + ErrorView() + display() } class CatapultCommand { + CatapultCommand() + process() } interface Command { + process() {abstract} } } ArcherView ..|> View CatapultView ..|> View ArcherCommand ..|> Command UnknownCommand ..|> Command ErrorView ..|> View CatapultCommand ..|> Command @enduml