SOLID设计原则,GUI和模型抽象

时间:2017-02-02 18:05:19

标签: c# design-patterns abstraction solid-principles

我有一个像这样的数据结构

联盟 - <轮次---<游戏--- 2名玩家

但是,当创建一个回合时,它需要知道在创建之前在GUI上选择了什么配对方法,因此它知道如何配对团队。

任何人都可以就如何实施此建议提出建议吗? 我想保持模型与GUI分离,但我不能在不知道所选配对方法的情况下创建圆形对象。 而且我不确定实现配对的最佳方式是什么。

我想过像

这样的东西
interface IPairingMethod{}
public class RoundRobin:IPairingMethod{}

在Round构造函数中使用DI,但它看起来并不干净。工厂模式会有帮助吗?

1 个答案:

答案 0 :(得分:3)

从我的角度来看,工厂方法甚至抽象工厂听起来像是解决问题的方法。如果您不想在运行时动态更改配对方法,您还可以考虑使用IoC容器。