Мучает вопрос дизайна...
Есть базовый класс КирпичКоллекция, которая содержит в себе коллекцию Кирпич-ей. Кирпичи бывают разных цветов, например, белый, крассный...
Есть классы наследники, КрасныйКирпичКоллекция, БелыйКирпичКолекция и ВсеКирпичКолекция.
Есть методы Добавить и Удалить, принимающие тип Киприч. Добавлять в себя может только ВсеКирпичКолекция.
Вопрос:
Как лучше реализовать, у базового КирпичКоллекция класса создать эти два виртуальный метода, которые будут бросать исключекния, и реализовывать эти методы будет только коллекция ВсеКирпичКолекция. Или же содать эти методы у класса ВсеКирпичКолекция, но в пользовательском коде делать явной привидение (пользоватльский код работает с КирпичКоллекция)
Спасибо.