Это теоретический вопрос о шаблонах программирования для программного продукта с открытым исходным кодом.
Мы открываем проект Araword с открытым исходным кодом (написанный на Java, но частично соответствующий), мы хотим добавить автономную функцию Text-To-Speech, так как теперь она используется только с онлайн-TTS Google.
Программное обеспечение работает кросс-платформенно. Поэтому в соответствии с базовой ОС пользователь должен иметь возможность выбирать между своей платформой TTS или кросс-платформенным (Google).
Мы хотим, чтобы мы переключались между каждой реализацией TTS в элегантной манере, но о том, что такое лучшая практика.
1) Я слышал о Factory Method Pattern на wikipedia:
http://en.wikipedia.org/wiki/Factory_method_pattern
2) Схема размещения IoC/Service:
http://en.wikipedia.org/wiki/Service_locator_pattern
Буду признателен за любые предложения.
Если вы хотите переключиться на систему TTS, чем сделать что-то вроде этого:
Или используйте кросс-платформенную библиотеку FreeTTS, а затем выполните ее (обратите внимание, что голоса более низкого качества).
Проект FreeTTS можно найти здесь: