Another important and extremely relevant aspect of the proposed solution is the possibility of extending the access verification process and making it more specific depending on the type of visitor.
For example: take into account the age of the person or the visiting hours of the vehicle depending on the type or number of legs of an animal.
Definitely this solution allows much more flexibility on the verification details for every visitor class. And it feels more natural that the visitor is the one defining those specifications.
An excellent and very clean solution to a fairly everyday problem.
What I liked the most is the assignment of responsibilities to the classes derived from the interface, which in the initial solution appeared disconnected from each other.
Carlos R. González Jiménez
Software developer
Another important and extremely relevant aspect of the proposed solution is the possibility of extending the access verification process and making it more specific depending on the type of visitor. For example: take into account the age of the person or the visiting hours of the vehicle depending on the type or number of legs of an animal.