Domanda

Sto eseguendo il refactoring di un numero di classi in un'applicazione per utilizzare le interfacce anziché le classi di base. Ecco le interfacce che ho creato finora:

  • ICarryable implementato da tutti gli oggetti Item
  • IActable implementato da tutti gli oggetti Actor
  • IUseable implementato da alcune sottoclassi di oggetti
  • IWieldable implementato da alcune sottoclassi di Item

Puoi vedere che le principali classi base sono ancora Item e Actor. Questi hanno un'interfaccia comune in quanto entrambi si trovano su una mappa, quindi hanno una proprietà Location. La mappa non dovrebbe importare se l'oggetto è un attore o un oggetto, quindi voglio creare un'interfaccia per esso. Ecco come sarebbe l'interfaccia

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

Non è un problema, ma non riesco a pensare a come chiamare questa interfaccia. Mi viene in mente IMappable che sembra un po 'zoppo. Qualche idea?

È stato utile?

Soluzione

Sembra un ILocateable. Qualcosa di cui è possibile scoprire e tracciare la posizione.

Altri suggerimenti

  • ILocatable
  • IGeo
  • IAmSomewhere
  • IIsSomewhere

Modifica:

  • INoun

Userei solo la notazione LOLCats .

ICanHasLocation

o forse

IHasLocation

o l'assurdo

ImInYourProgramHavingALocation

Oh, e comunque - ce n'è almeno uno Duck Typing libreria per C #, che è un concetto piuttosto interessante.

IWhereYouAtable - Boost mobile

ITwentyable - come in ciò che è il tuo 20 (abbreviazione di 10-20 - slang CB)

seriamente sebbene ILocateable sia buono.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top