> -- AlexBogy писал(а):
> Stores.Store реализован как абстрактная запись, хотя там нет ни одной абстрактной процедуры, только пустые.
Суть в том, что нельзя разместить в памяти экземпляр такого класса, разместить можно только расширение. Так как только оно имеет "с точки зрения автора" какой-то смысл. Ключевое слово ABSTRACT ясно говорит, чего делать не стоит, и среда явно это запрещает.

> -- AlexBogy писал(а):
> При создании клиентских модулей очень редко пользуются абстрактными записями, поэтому их введение вряд ли оказало влияние на безопасность создаваемых приложений с точки зрения 'хрупкого базового класса'.
Так в этом и суть, что клиенты уже пользуются абстрактными записями, а свои абстрактные могут и не создавать.

> -- AlexBogy писал(а):
> И в чем различие в безопасности или надежности приложения от создания экземпляра от абстрактной записи или ее наследника?
В более определённом рамками поведении системы для разработчика каркаса. Разработчик может прогнозировать, как именно будут использованы записи. Что наследование, к примеру, произойдет с обязательным определением того или иного метода, а также, что никто не сможет создать экземпляр класса от типа не унаследовав его. Между разработчиком каркаса и его пользователем более регламентированное общение получается. Более чётко определены правила, меньше непредсказуемых неприятных моментов.