21 / 23 / 9
Регистрация: 26.07.2013
Сообщений: 109
|
||||||
1 | ||||||
Порекомендуйте правильный паттерн08.06.2016, 14:22. Показов 753. Ответов 2
Метки нет (Все метки)
Друзья, привет.
Требуется помощь. Опишу задачу: Есть некоторое количество классов, которые получают данные. Не сказать, что загрузка очень длительная, но хочется загрузить один раз и больше этого не делать. Допустим при реализации постраничного вывода, нужно делать запрос при каждом переходе со страницы на страницу. Я пришёл к тому, что нужно реализовать контейнер, который будет кэшировать в себе объекты, в таком случае, нужно будет запрашивать данные страницы только один раз, а в последствии доставать их из контейнера. Проблема осложняется тем, что все классы, которые получают данные, должны хранить их на протяжении всего жизненного цикла приложения. (может, я ошибаюсь, и это излишние издержки, скажите об этом, если это так). В данный момент в голову пришла такая вещь:
Получается, что для каждого класса с данными можно создать свой синглтон, который будет содержать объекты, добавлять в себя новые и выдавать запрашиваемые. В общем, я не так хорош в паттернах, подскажите, пожалуйста, что использовать? Может быть, (я уверен) есть лучшие варианты реализации?
0
|
08.06.2016, 14:22 | |
Ответы с готовыми решениями:
2
Почему паттерн абстрактная фабрика - паттерн уровня объектов, если в нём могут быть статические отношения? Какой наиболее правильный паттерн при работе с SQLite Правильный или не правильный ответ Indy: программа не получает правильный ответ от сервера, но сниффер показывает правильный ответ |
3462 / 2473 / 695
Регистрация: 02.08.2011
Сообщений: 6,704
|
|
08.06.2016, 14:39 | 2 |
вроде как тривиальное решение, имхо:
1. Для Сущности пишете свой Repository (просто интерфейс с CRUD). Который будет доставать данные из локального хранилища (кэша). 2. Пишите Decorator для вашего Repository. Decorator достает данные из кэша, если нет, то достает данные из основного хранилища, затем обновляет кэш. Повторяете это для всех сущностей. 3. Собираете все декораторы в Facade. 4. А Facade - это Singletone. Профит. Я бы так делал.
1
|
21 / 23 / 9
Регистрация: 26.07.2013
Сообщений: 109
|
|
08.06.2016, 14:45 [ТС] | 3 |
Спасибо. Попробую сделать, как ты сказал, ещё раз спасибо!
0
|
08.06.2016, 14:45 | |
08.06.2016, 14:45 | |
Помогаю со студенческими работами здесь
3
Порекомендуйте БП !!! Порекомендуйте Порекомендуйте процессор Порекомендуйте ленточку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |