Поделиться через


Рекомендации по проектированию шрифтов

С точки зрения среды CLR существует только две категории типов — ссылочные типы и типы значений, но в целях обсуждения разработки платформы мы разделим типы на более логические группы, каждая из которых имеет собственные собственные правила проектирования.

Классы являются общим случаем ссылочных типов. Они составляют основную часть типов в большинстве фреймворков. Классы обязаны своей популярностью к богатому набору объектно-ориентированных функций, которые они поддерживают и к их общей применимости. Базовые классы и абстрактные классы — это специальные логические группы, связанные с расширяемостью.

Интерфейсы — это типы, которые можно реализовать как ссылочными типами, так и типами значений. Таким образом, они могут служить корнями полиморфных иерархий ссылочных типов и типов значений. Кроме того, интерфейсы можно использовать для имитации множественного наследования, которое изначально не поддерживается CLR.

Структуры являются общим случаем типов значений и должны быть зарезервированы для небольших простых типов, аналогичных примитивам языка.

Перечисления — это особый вид типов значений, используемых для определения небольших наборов значений, таких как дни недели, цвета консоли и т. д.

Статические классы — это типы, предназначенные для контейнеров для статических элементов. Они обычно используются для предоставления ярлыков другим операциям.

Делегаты, исключения, атрибуты, массивы и коллекции — это все особые случаи ссылочных типов, предназначенных для конкретных видов использования, а также рекомендации по их проектированию и использованию рассматриваются в других частях этой книги.

✔️ Убедитесь, что каждый тип является хорошо определенным набором связанных элементов, а не только случайной коллекцией несвязанных функций.

В этом разделе

Выбор между классом и структурой
Конструктор абстрактного класса
Проектирование статических классов
Проектирование интерфейса
Проектирование структуры
Дизайн перечисления
Вложенные типы
© Часть 2005, 2009 Корпорация Майкрософт. Все права защищены.

Перепечатан с разрешения Pearson Education, Inc. из Руководство по проектированию: Соглашения, идиомы и шаблоны для повторного использования библиотек .NET, 2-е издание Кшиштоф Чвалина и Брэд Абрамс, опубликованное 22 октября 2008 года Addison-Wesley Профессиональный в рамках серии разработки Microsoft Windows.

См. также