- Client-Visitor: The client accepts the visitor(class) to access a concrete class, and the visitor implements the method to manipulate the concrete class's private data. Usually, the client is low cohesion (less elements of a module) and the visitor is high coupling (couple or dependent to every concrete class).