Часто разработчики утверждают, что read-only коллекции в .NET нарушают [принцип подстановки Барбары Лисков][1]. Так ли это? Нет, это не так, потому что IList интерфейс содержит флаг IsReadOnly. Исключением является класс Array, он действительно нарушает LSP принцип начиная с версии .NET 2.0. Но давайте разберемся во всем по порядку. [Читать дальше →][2]
[1]:
https://ru.wikipedia.org/wiki/Принцип_подстановки_Барбары_Лисков
[2]:
http://habrahabr.ru/post/256605/#habracut