Здравствуйте, Hobbes, Вы писали:
H>А если поведение разное, то получается, что объект производного класса не может быть использован вместо объекта родительского класса, что я считаю антипаттерном.
Наоборот, это нормально, но только в определенных рамках. Т.е. когда сохраняется контракт, предусловия, постусловия и тд. Как только это ломается, например метод Add по факту начинает удалять, это конечно же паскудство.