J'ai une interface nommée PropertyFilter
qui prenait un Property
et décide si elle l'accepte ou non. Et le monde était bon.Problème nommant une interface
Mais maintenant l'interface a changé, de sorte que les implémentations peuvent choisir d'ajouter Property
s supplémentaires. Par exemple, une propriété Customer
peut être étendue aux propriétés Name
et Address
.
Je pense qu'il est évident que ce n'est plus un filtre, mais comment appelleriez-vous une telle chose?
Pour clarifier: le soi-disant filtre est à peu près une méthode avec la signature
Property -> List<Property>
avec une liste vide indiquant ne pas accepter la propriété, une liste avec exactement la propriété d'entrée indiquant l'acceptation de la propriété et une liste avec de nouvelles propriétés (incluant éventuellement l'original) indiquant une expansion.
Cela me semble toujours être un filtre. Un 'Filter [T]' est généralement une fonction 'T -> Boolean' qui semble toujours être. –
Pourquoi vous souciez-vous de Property dans le PropertyFilter? Pourquoi ne pas simplement avoir une interface de filtre? – mathk
@mathk Nous avons choisi PropertyFilter plutôt que Filter parce qu'il y a déjà deux filtres dans notre base de code et environ un gazillion dans la bibliothèque que nous utilisons. Mais la question concerne vraiment la partie Filtre du nom. –