Я строю панель пользовательского интерфейса. Вы можете добавить вещи для отображения и сохранить их в списке.
Вещи, добавленные в него, должны наследоваться от IAddable, поскольку это позволяет добавлять их в камеру (облегчает каскад игры l oop обновления, рендеринг и т. д. c). Они также должны быть IRect angular, который выставляет размер и позиции, чтобы панель могла их сортировать и позиционировать.
В настоящее время у меня есть интерфейс:
public interface IRectangularAddable : IAddable, IRectangular { }
, поэтому мой В Panel могут быть добавлены только IRectangularAddables, и в ней содержится список IRectangularAddables, который управляет обоими наборами функциональности.
Кажется, что запах кода имеет интерфейс, который просто наследует от двух других без добавления членов, это против CA1040 ?
Это правильный способ сделать это?