@startuml

interface PictureReader {
    +void read()
}

class GifPictureReader {
    +void read()
}

class JpgPictureReader {
    +void read()
}

PictureReader <|.. GifPictureReader
PictureReader <|.. JpgPictureReader

class PictureReaderFactory {
     +static PictureReader createPictureReader(String type)
}

PictureReaderFactory ..> GifPictureReader
PictureReaderFactory ..> JpgPictureReader

class Client

Client ..> PictureReaderFactory
Client ..> PictureReader



@enduml