我正在重构应用程序中的许多类以使用接口而不是基类。这是我到目前为止创建的接口:
- 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 似乎有点蹩脚。有任何想法吗?