Я просматривал исходный код сервлета-api.jar и узнал (к моему полному недоумению), что javax.servlet.GenericServlet реализует javax.servlet.ServletConfig.Зачем нужно javax.servlet.GenericServlet реализовать javax.servlet.ServletConfig?
Теперь я не похвастаюсь тем, что являюсь ученым ООП, но я помню, что читал, что хотя ООП обеспечивает концепцию наследования, наследование как функция должно применяться только тогда, когда у ребенка есть отношение IS-A с родитель.
«GenericServlet IS-A ServletConfig» звучит не так. Кто-нибудь знает, почему было принято такое дизайнерское решение? (Помимо раскрытия методов и атрибутов ServletConfig для GenericServlet)?
Я бы предположил, что GenericServlet будет снабжен экземпляром ServletConfig, что означает, что «GenericServlet HAS-A ServletConfig». Это звучит лучше для меня. –