Question

Je suis en train de refactoriser un certain nombre de classes dans une application pour utiliser des interfaces au lieu de classes de base. Voici les interfaces que j'ai créées jusqu'à présent:

  • ICarryable implémenté par tous les objets Item
  • IActable implémenté par tous les objets Actor
  • IUseable implémenté par certaines sous-classes Item
  • IWieldable implémenté par certaines sous-classes Item

Vous pouvez voir que les principales classes de base sont toujours Item et Actor. Ceux-ci ont une interface commune dans la mesure où ils sont tous deux situés sur une carte, ils ont donc une propriété Location. La carte ne doit pas se soucier de savoir si l'objet est un acteur ou un élément, je souhaite donc créer une interface pour celui-ci. Voici à quoi ressemblerait l'interface

public interface IUnnameable {
    event EventHandler<LocationChangedEventArgs> LocationChanged;
    Location Location { get; set; }
}

Ce n'est pas un problème, mais je ne vois pas comment appeler cette interface. IMappable vient à l’esprit, semble un peu boiteux Des idées?

Était-ce utile?

La solution

Cela ressemble à un ILocateable. Quelque chose dont vous pouvez découvrir et suivre l’emplacement.

Autres conseils

  • ILocatable
  • IGeo
  • IAmSomewhere
  • IIsSomewhere

Modifier:

  • INoun

Je voudrais simplement utiliser la notation LOLCats .

ICanHasLocation

ou peut-être

IHasLocation

ou l'absurde

ImInYourProgramHavingALocation

Oh, et d'ailleurs, il existe au moins un Duck Typing bibliothèque pour C #, qui est un concept plutôt cool.

IWhereYouAtable - Boost mobile

ITwentyable - comme dans quel est votre 20 (abréviation de 10-20 - argot CB)

sérieusement bien qu'Il puisse être utilisé est bon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top