public GenericUserBasedRecommender(DataModel dataModel, UserNeighborhood neighborhood, UserSimilarity similarity) : base(dataModel) { Action refreshRunnable = null; this.neighborhood = neighborhood; this.similarity = similarity; if (refreshRunnable == null) { refreshRunnable = () => this.capper = this.buildCapper(); } this.refreshHelper = new RefreshHelper(refreshRunnable); this.refreshHelper.addDependency(dataModel); this.refreshHelper.addDependency(similarity); this.refreshHelper.addDependency(neighborhood); this.capper = this.buildCapper(); }
public GenericItemBasedRecommender(DataModel dataModel, ItemSimilarity similarity, CandidateItemsStrategy candidateItemsStrategy, MostSimilarItemsCandidateItemsStrategy mostSimilarItemsCandidateItemsStrategy) : base(dataModel, candidateItemsStrategy) { Action refreshRunnable = null; this.similarity = similarity; this.mostSimilarItemsCandidateItemsStrategy = mostSimilarItemsCandidateItemsStrategy; if (refreshRunnable == null) { refreshRunnable = () => this.capper = this.buildCapper(); } this.refreshHelper = new RefreshHelper(refreshRunnable); this.refreshHelper.addDependency(dataModel); this.refreshHelper.addDependency(similarity); this.refreshHelper.addDependency(candidateItemsStrategy); this.refreshHelper.addDependency(mostSimilarItemsCandidateItemsStrategy); this.capper = this.buildCapper(); }