5

我正在重构应用程序中的许多类以使用接口而不是基类。这是我到目前为止创建的接口:

  • ICarryable 由所有 Item 对象实现
  • 由所有 Actor 对象实现的 IActable
  • IUseable 由一些 Item 子类实现
  • 由一些 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
  • ILocatable
  • 伊戈
  • 我在某处
  • 某处

编辑:

  • 名词
于 2008-10-16T04:45:20.947 回答
1

我只会使用LOLCats表示法。

ICanHasLocation

或许

IHasLocation

或荒谬的

ImInYourProgramHavingALocation

哦,顺便说一句 - 至少有一个 C# 的Duck Typing库,这是一个非常酷的概念。

于 2008-10-16T05:01:16.827 回答
0

IWhereYouAtable - 提升移动端

ITwentyable - 你的 20 是多少(10-20 的缩写 - CB 俚语)

说真的,虽然 ILocateable 很好。

于 2008-10-16T07:48:49.737 回答