5

基本クラスの代わりにインターフェースを使用するために、アプリケーション内のいくつかのクラスをリファクタリングしています。これまでに作成したインターフェイスは次のとおりです。

  • すべての Item オブジェクトによって実装される ICarryable
  • すべての Actor オブジェクトによって実装される IActable
  • 一部の Item サブクラスによって実装された IUseable
  • 一部の Item サブクラスによって実装される IWieldable

主要な基本クラスは引き続き Item と Actor であることがわかります。これらは両方ともマップ上に配置されているという点で共通のインターフェイスを持っているため、Location プロパティがあります。Map は、オブジェクトが Actor か Item かを気にするべきではないので、そのためのインターフェイスを作成したいと思います。インターフェースは次のようになります

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

それは問題ありませんが、このインターフェースを何と呼ぶべきか思いつきません。IMappable は少し不自由に思えます。何か案は?

4

4 に答える 4

9

ILocateable のように聞こえます。その場所を発見して追跡できるもの。

于 2008-10-16T04:44:40.263 に答える
3
  • Iロケータブル
  • IGeo
  • 私はどこか
  • IIsSomewhere

編集:

  • I名詞
于 2008-10-16T04:45:20.947 に答える
1

LOLCats表記を使用します。

ICanHasLocation

または多分

IHasLocation

または不条理

ImInYourProgramHavingALocation

ところで、C# 用のDuck Typingライブラリが少なくとも 1 つあります。これは非常に優れたコンセプトです。

于 2008-10-16T05:01:16.827 に答える
0

IWhereYouAtable - ブースト モバイル

ITwentyable - what's your 20 (10-20 の略 - CB スラング)

真剣に ILocateable は良いですが。

于 2008-10-16T07:48:49.737 に答える