Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Принципы проектирования SOLID, графический интерфейс и абстракция модели

Автор вопроса: JcsharpperОтветов: 1

У меня есть такая структура данных

Лига --‹ Раунды ---‹ Игры --- 2 игрока

Однако при создании раунда ему необходимо знать, какой метод сопряжения выбран в графическом интерфейсе, до создания, чтобы он знал, как объединять команды.

Может ли кто-нибудь посоветовать, как это реализовать? Я хочу, чтобы модель была отделена от графического интерфейса, но я не могу создать круглый объект, не зная выбранного метода сопряжения. И я не уверен, как лучше всего реализовать пары.

Я подумал что-то вроде

interface IPairingMethod{}
public class RoundRobin:IPairingMethod{}

И используйте DI в конструкторе Round, но это не кажется чистым. Поможет ли заводская выкройка?

  • Добро пожаловать в Stack Overflow! Мы сайт вопросов и ответов, а не служба кодеров по найму. Пожалуйста, объясните, что вы пробовали до сих пор и почему это не сработало. См.: Почему кто-нибудь может мне помочь? не актуальный вопрос? Joe C 03.02.2017

design-patternssolid-principlesabstraction

Ответы

Ответ 1 · рейтинг 3 · Jan Linxweiler

С моей точки зрения, фабричный метод или даже абстрактная фабрика звучат как решение вашей проблемы. Если вы не хотите динамически изменять метод сопряжения во время выполнения, вы также можете подумать об использовании контейнера IoC.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы