Когда они говорят, что List<T>
«оптимизирован», я думаю, они хотят иметь в виду, что у него нет таких функций, как виртуальные методы, которые стоят дороже. Таким образом, проблема заключается в том, что после того, как вы откроете List<T>
в своем общедоступном API , вы потеряете способность принудительно применять бизнес-правила или настраивать свои функции позже. Но если вы используете этот унаследованный класс как внутренний в своем проекте (в отличие от потенциально подверженного тысячам ваших клиентов / партнеров / других команд как API), тогда это может быть ОК, если это экономит ваше время, и это функциональность, которую вы хотите дублировать. Преимущество наследования с List<T>
заключается в том, что вы устраняете много немого кода обертки, который никогда не будет настроен в обозримом будущем. Кроме того, если вы хотите, чтобы ваш класс явно имел ту же семантику, что и List<T>
для жизни ваших API, также может быть и в порядке.
Я часто вижу, что многие люди делают тонны дополнительной работы только из-за Правило FxCop говорит так, или чей-то блог говорит, что это «плохая» практика. Много раз, это превращает код в дизайн палодовости паттерн. Как и в случае с множеством рекомендаций, относитесь к нему как к руководящему принципу, который может иметь исключения.
Я не думаю, что iPhone SDK предоставляет любую услугу TTS внутренне. Необходимо использовать третье лицо механизм TTS или записать тот сами.
Механизм синтеза речи Flite может быть выполнен на iPhone, касательно http://artofsystems.blogspot.com/2009/02/speech-synthesis-on-iphone-with-flite.html
Двигатель Tomsoft работает медленно только с пользовательскими голосами. Не знаю почему. Но если вы удалите другие голоса и только интегрированный базовый голос KAL, он будет говорить почти мгновенно. Если вам понадобится помощь, пришлите мне электронное письмо, используя контактную форму на моем веб-сайте.
http://github.com/KingOfBrian/VocalKit
Я написал обертку вокруг pocket sphinx и flite, вы должны быть в состоянии проверить это довольно быстро.
Я, наверное, натыкаюсь на мертвую нить, но механизм преобразования текста в речь Flite сотворил для меня чудеса!
Надеюсь, это поможет!