Прежде всего, для того, чтобы ответить на вопрос «как вы можете гарантировать, что все продукты находятся в кеше», я думаю, что это вполне обоснованная критика. Когда я сделал демонстрации функции тегов, я загрузил все продукты в кеш при запуске приложения, пометив их соответствующим образом - это единственный надежный подход, который я предложил.
С точки зрения того, для чего тегирование полезно, я вижу, что оно дает вам дополнительные возможности для извлечения элементов из кэша. Помните, что вы можете назначить IEnumerable<DataCacheTag>
каждому кешированному элементу, поэтому следуйте примеру продуктов, а также категории, которую вы могли бы пометить каждым элементом с поставщиком, или с вещами, которые через набор категорий товаров, таких как «FreeDelivery» или «LowStock».
Или, в зависимости от того, как вы представляете его пользователю, вы можете развернуть набор продуктов, создав набор тегов для поиска, например, в кеше. Начните с «Menswear», затем добавьте «Knitwear», затем «Color: Black», затем «Size: L», показывая пользователю более узкий набор товаров с каждым тегом, добавленным в поиск.