Я рефакторинг нескольких классов в приложении, чтобы использовать интерфейсы вместо базовых классов. Вот интерфейсы, которые я создал до сих пор:
- ICarryable реализуется всеми объектами Item
- IActable реализован всеми объектами Actor
- IUseable, реализованный некоторыми подклассами Item
- IWieldable реализовано некоторыми подклассами Item
Вы можете видеть, что основными базовыми классами по-прежнему являются Предмет и Актер. Они имеют общий интерфейс в том, что они оба расположены на карте, поэтому у них есть свойство Location. Карта не должна заботиться о том, является ли объект актером или элементом, поэтому я хочу создать для него интерфейс. Вот как будет выглядеть интерфейс
public interface IUnnameable {
event EventHandler<LocationChangedEventArgs> LocationChanged;
Location Location { get; set; }
}
Это не проблема, но я не могу придумать, как назвать этот интерфейс. IMappable приходит на ум, кажется, немного отстой. Есть идеи?