Если вы посмотрите на запись в стиле википедии, существует несогласованность в том, что UML-диаграмма изображает реализатора как приватную переменную, но в сопроводительном примере Java-кода он используется как не-частный, а уточненная абстракция использует его как в следующем фрагменте кода:
// low-level i.e. Implementation specific
public void draw() {
drawingAPI.drawCircle(x, y, radius);
}
drawingAPI
является разработчиком и доступен из уточненной абстракции.
Также в той же записи в wikipedia LePUS3 подразумевается, что уточненные абстракции должны вызывать операции только из абстракции, а не любые методы от разработчика.
См. также следующий ответ stackoverflow, где частный разработчик: qaru.site/info/23526/...
Итак, должен ли разработчик быть приватным и уточненным абстракциями только методы вызова из абстракции?