Viewmodel caching WIP

This commit is contained in:
TheXamlGuy
2024-01-12 21:57:47 +00:00
parent 2a773f26db
commit b47a563876
9 changed files with 59 additions and 15 deletions
-6
View File
@@ -1,6 +0,0 @@
namespace Hyperbar;
public interface IViewModelFactory<TIn, TOut>
{
ValueTask<TOut> CreateAsync(TIn value);
}
+30
View File
@@ -0,0 +1,30 @@
namespace Hyperbar;
public interface IViewModelFactory<TParameter, TViewModel>
{
ValueTask<TViewModel> CreateAsync(TParameter value);
}
public interface IViewModelCache<TKey, TViewModel>
{
void Add(TKey key, TViewModel value);
void Remove(TKey key);
}
public class ViewModelCache<TKey, TViewModel> :
IViewModelCache<TKey, TViewModel>
{
private readonly Dictionary<TKey, TViewModel> cache = [];
public void Add(TKey key,
TViewModel value)
{
cache.TryAdd(key, value);
}
public void Remove(TKey key)
{
cache.Remove(key);
}
}