Синглтон - паттерн, когда некий клас может иметь только один инстанс. Обычно используется для хранения всяких конфигураций, как референс для тредпула соединений к бд, например и тп
А, это когда инстанс дочернего класса может быть переиспользован там, где был использован инстанс материнского класса. Контракт, что ничего в наследователях не будет не соответствовать родителю