Референции от и към интерфейси
Здравейте. Разработвам един простичък тетрис, но се стремя структурата на приложението да бъде по всички правила на ООП, Dependency Inversion и т.н., за да мога впоследствие, когато добия повече знания, да мога да екстендна по-лесно проекта към десктоп, уеб, а защо не и мобилно приложение :)
Имам лек проблем с позиционирането на интерфейсите в асемблито ми и моля за известна помощ.
Така. В зависимост от това, дали всички интерфейси са в отделна папка, или в Root директорията, или всеки интерфейс е в една папка с класовете, които го наследяват, се налага да подавам референция (using) към съответния неймспейс(те съвпадат с имената на папките). Главният ми Engine клас има полета от тип някой си там интерфейс. Конкретната имплементация се подава през конструктора, за да не ползвам думичката new. Трябва ли да ползвам using за всеки възможен неймспейс, съдържащ нужните на класа интерфейси? Някак недоизмислено ми изглежда, ясно е, че аз бъркам нещо..
Второ. В един интерфейс съм декларирал следното пропърти:
FigureElement Element {get;}
Супер, но се налага да подам референция (using) към неймспейса ConsoleLogic, за да разпознае ФигуреЕлемента-а. Връзвам интерфейса към конзолната ми логика. Тъпо и не както трябва. Блокирах и не знам как да го направя.
В минимум една от двете горни ситуации трябва да раздавам using-и към разни неймспейси. Така ли се прави в реалните софтуерни проекти или...
Дано съм го обяснил четливо.