На протяжении всей статьи ты упоминаешь пользовательские сценарии, но в диаграмме классов их нигде нет. Кроме того, описанная в диаграмме архитектура сильно привязана к структуре серверного API и это может быть чревато хрупкостью, если API вдруг поменяется (или придется переехать на другой сервис с аналогичным функционалом). Выстроив архитектуру вокруг пользовательских сценариев, можно получить более устойчивый к изменениям код. Кроме того, подобный подход позволит упростить погружение новых сотрудников в код, потому что гораздо проще найти класс UserLoginUseCase, чем сканировать исходники на предмет выискивания того, кто этим занимается.
По поводу роутера, на мой взгляд, не стоит заморачиваться на конкретный паттерн. То есть, если есть роутер, то должен быть класс MyAppRouter. Мой опыт показывает, что лучше выделять сгруппированные по сценарию навигации. Скажем, если в приложении есть setup wizard, то в его реализации можно использовать NavigationalRouter.
Ребят, вы уже кажется не первый раз предупреждаете за неделю до проведения мероприятия. Хотя бы за недели две что ли предупреждали, а то не всегда можно успеть спланировать поездку.
А крэшлоги сможете достать? Они после синхронизации с десктопом находятся в этих папках:
— Mac OS X: ~/Library/Logs/CrashReporter/MobileDevice/<DEVICE_NAME>
— Windows XP: C:\Documents and Settings\\Application Data\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>
— Windows Vista: C:\Users\\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>
В принципе, есть хардкорный вариант — удалить и поставить приложение заново. Если решите так делать, то крэшлоги не забудьте достать :)
А крэшлоги сможете достать? Они после синхронизации с десктопом находятся в этих папках:
— Mac OS X: ~/Library/Logs/CrashReporter/MobileDevice/<DEVICE_NAME>
— Windows XP: C:\Documents and Settings\\Application Data\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>
— Windows Vista: C:\Users\\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>
А крэшлоги сможете достать? Они после синхронизации с десктопом находятся в этих папках:
— Mac OS X: ~/Library/Logs/CrashReporter/MobileDevice/<DEVICE_NAME>
— Windows XP: C:\Documents and Settings\\Application Data\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>
— Windows Vista: C:\Users\\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>
На протяжении всей статьи ты упоминаешь пользовательские сценарии, но в диаграмме классов их нигде нет. Кроме того, описанная в диаграмме архитектура сильно привязана к структуре серверного API и это может быть чревато хрупкостью, если API вдруг поменяется (или придется переехать на другой сервис с аналогичным функционалом). Выстроив архитектуру вокруг пользовательских сценариев, можно получить более устойчивый к изменениям код. Кроме того, подобный подход позволит упростить погружение новых сотрудников в код, потому что гораздо проще найти класс UserLoginUseCase, чем сканировать исходники на предмет выискивания того, кто этим занимается.
По поводу роутера, на мой взгляд, не стоит заморачиваться на конкретный паттерн. То есть, если есть роутер, то должен быть класс MyAppRouter. Мой опыт показывает, что лучше выделять сгруппированные по сценарию навигации. Скажем, если в приложении есть setup wizard, то в его реализации можно использовать NavigationalRouter.
— Mac OS X: ~/Library/Logs/CrashReporter/MobileDevice/<DEVICE_NAME>
— Windows XP: C:\Documents and Settings\\Application Data\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>
— Windows Vista: C:\Users\\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>
В принципе, есть хардкорный вариант — удалить и поставить приложение заново. Если решите так делать, то крэшлоги не забудьте достать :)
— Mac OS X: ~/Library/Logs/CrashReporter/MobileDevice/<DEVICE_NAME>
— Windows XP: C:\Documents and Settings\\Application Data\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>
— Windows Vista: C:\Users\\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>
— Mac OS X: ~/Library/Logs/CrashReporter/MobileDevice/<DEVICE_NAME>
— Windows XP: C:\Documents and Settings\\Application Data\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>
— Windows Vista: C:\Users\\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>