в программах встречается особый случай кодирования. Допустим, вы
строите АБСТРАКТНУЮ ФАБРИКУ для создания геометрических фигур.
Фабрика представляет собой интерфейс, который реализуется конкретным классом.
Как их назвать? IShapeFactory и ShapeFactory? Я предпочитаю оставлять имена
интерфейсов без префиксов. Префикс I, столь распространенный в старом коде,
в лучшем случае отвлекает, а в худшем — передает лишнюю информацию. Я не
собираюсь сообщать своим пользователям, что они имеют дело с интерфейсом.
Им достаточно знать, что это ShapeFactory, то есть фабрика фигур. Следовательно,
при необходимости закодировать в имени либо интерфейс, либо реализацию,
я выбираю реализацию. Имя ShapeFactorylmp, или даже уродливое CShapeFactory,
все равно лучше кодирования информации об интерфейсе.
Как по мне, человек должен знать, что работает с интерфейсом, чтобы случайно не прописать реализацию.
Обсуждают сегодня