Стоит ли иметь отдельные пространства имен для интерфейсов и реализаций?
Совет Stroustrup в своей книге на С++ (четвертое издание) заключается в том, что мы должны использовать отдельные пространства имен для интерфейсов и реализаций. Могут ли более опытные люди сказать что-то на этом? Я имею в виду, это звучит неплохо, но действительно ли это практично, имеет ли смысл проекты в реальном мире?