我正在重构应用程序中的许多类以使用接口而不是基类。这是我到目前为止创建的接口:
您可以看到主要的基类仍然是Item和Actor。它们有一个共同的接口,因为它们都位于Map上,因此它们具有Location属性。 Map不应该关心对象是Actor还是Item,所以我想为它创建一个接口。这是界面的样子
public interface IUnnameable {
event EventHandler<LocationChangedEventArgs> LocationChanged;
Location Location { get; set; }
}
这没问题,但我想不出这个界面叫什么。脑海中出现的IMappable似乎有些蹩脚。有什么想法吗?
答案 0 :(得分:9)
听起来像ILocateable。您可以发现并跟踪其位置的东西。
答案 1 :(得分:3)
编辑:
答案 2 :(得分:1)
我只使用LOLCats表示法。
ICanHasLocation
或者
IHasLocation
或荒谬的
ImInYourProgramHavingALocation
哦,顺便说一下,C#至少有一个Duck Typing库,这是一个非常酷的概念。
答案 3 :(得分:0)
IWhereYouAtable - 提升移动性
ITwentyable - 就像你的20(10-20的简称 - CB俚语)
虽然ILocateable很好,但是很认真。