2010-07-16 2 views
1

Я не был полностью уверен, как фразовать то, что я хотел спросить в названии, поэтому я попытаюсь разъяснить это лучше в дальнейшем.Какие типы абстрактных интерфейсов наиболее распространены на практике

Для разработчиков программных средств C++, какие абстрактные интерфейсы вы часто переписываете между проектами/заданиями? Например, я бы предположил, что для разных проектов довольно распространенная практика писать абстрактные интерфейсы для «печати» объектов и для сериализации объектов на основе требований этого проекта (даже если они реализованы в терминах других установленных библиотек, которые предоставляют много этой функциональности). Каков ваш опыт в этом?

Если вопрос слишком расплывчатый, не стесняйтесь рекомендовать, как его прояснить.

+0

Вы имеете в виду «абстрактный», как в классах вообще, так и в «абстрактных», как в «содержащих« виртуальных »методах»? –

+0

Вопрос был общим в некотором смысле, но я попытался сделать его более конкретным. Я имею в виду для разработчиков библиотеки программного обеспечения C++, какими абстрактными базовыми классами они замечают, они пишут несколько раз между проектами. Классы, которые могут содержать внутреннее состояние, но в основном характеризуются их чистыми виртуальными методами. – bpw1621

ответ

1

Это зависит от того, что вы разрабатываете в некоторых случаях. вот краткий список:

clone, create (factory method), сериализация, резьба, посредничество, наблюдение.

0

Не знаю, задан ли вопрос C++. Это похоже на общий вопрос программирования. Я нахожу, что даже когда я кодирую JS, я все еще использую абстрактную концепцию.

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

Как разработчик java, очень часто используется абстрактный шаблон для операций DAO CRUD. Его всегда одно и то же, единственное, что отличается от типа ...

+0

Я не знаком с Javascript или его общими шаблонами. Я пытался выяснить, какие аспекты общего программирования недостаточно изучены стандартным C++ и, следовательно, требуют постоянного переосмысления подобных абстрактных шаблонов интерфейса. – bpw1621

Смежные вопросы