Почитал посты после себя, за два дня. В чем суть обсуждения?
> ИнтерфесПрограммированияПриложения в момем случае -
> контроллер. Это реализовано в одном из общих/абстрактных
> слоев.
ИнтерфесПрограммированияПриложения = application programming interface, т.е. API. API не контроллер.
Контроллер никогда не должен знать о каких-то Services.
Например, котроллер MVC GUI приложения, никогда не будет думать о том, загружен ли драйвер мыши и никода не будет напрямую с ним контактировать, только через Interface, у тебя интерфеса нет, если, конечно, ты не пишешь драйвер мыши.
Твой же код заставляет контроллер знать о чем-то, что ему не положено по статусу.
-~{}~ 31.10.10 19:57:
Добавлю.
У тебя появилась задача изменить метод передачи данных в твой скрипт (изменился веб сервер, который быстр и нов, или, например, твое приложение нужно запускать из под CLI), и собственно, передачу переменных туда , ты не можешь осуществить стандартными методами твоими get, post, request, у тебя есть только argv, что делать? В твоем случае, придется править контроллеры всех модулей, в моем случае, изменить (унаследовать от базового класса) новый класс, который будет разбираться параметры командной строки, для этого, я напишу класс и изменю соответствующий интерфейс, а лучше, научу интерфейс понимать новый доступ, сохранив обратную совместимость, и сделаю это таким образом, что все использованные ранее методы доступа сохранят свою актуальность.