Минимизация зависимостей C ++ - PullRequest
0 голосов
/ 02 ноября 2011

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

Ответы [ 3 ]

3 голосов
/ 02 ноября 2011

Внедрение зависимостей или какой-либо аналогичный механизм может помочь разделить слои вашей программы. Это, конечно, не универсальный молоток. Как уже упоминалось в Parapura, PIMPL - это еще одна практика, так же как и использование чистых виртуальных базовых классов в качестве интерфейсов (аналогично COM). Вы можете поднять его на еще более высокий уровень и разбить части вашей программы (там, где это имеет смысл) на свои собственные сервисы, доступные через REST или какой-либо специальный протокол.

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

Итак, сначала проанализируйте, продумайте и разделите проблемы, затем начните использовать различные методы и инструменты, чтобы выяснить, как этого достичь.

1 голос
/ 02 ноября 2011
0 голосов
/ 03 ноября 2011

Инкапсуляция. Каждый создает закрытые классы, которые связывают через интерфейсы. Вся реализация закрыта внутри (имена частных переменных), для каждого класса .cpp и .h файл с защитой заголовков. Подробнее о ...

...