В С# соглашение об именовании интерфейса I<myInterfaceName> (ex: IList).
Существуют ли соглашения об именах для абстрактных классов?
Если нет, каковы основные рекомендации?
Ответ 1
Как правило, при именовании абстрактных классов не используется суффикс/префикс, в отличие от интерфейсов с префиксом "I". Просто дайте вашему классу название, которое описывает, для чего оно, кратко и точно.
Ответ 2
Существует ли соглашение об именах для абстрактного класса?
Нет, здесь нет соглашений. Существуют некоторые общие способы обозначения абстрактного базового класса. Наиболее распространенным я видел, чтобы использовать суффикс Base. Лично мне не нравится это соглашение, и Рамочные рекомендации рекомендуют против него.
И если нет каких-либо рекомендаций по питанию?
Хорошее общее имя, описывающее моделирование класса, как и любое другое имя класса. Итак, Shape, а затем Polygon, а затем RegularPolygon и так далее.