应用程序的设计模式选择

时间:2017-09-06 13:04:39

标签: c++ qt design-patterns

我正在开始一个项目,包括一些用于工业目的的偏微分方程的求解器(所有求解相同类型的方程)。应用程序应该具有GUI(与计算代码分开)和具有不同解算器的DLL。目的是实现可扩展性,以便创建新的更好的解算器并将它们作为插件添加到求解器列表中。不同的求解器需要一组不同的参数。我应该考虑什么样的设计模式?

2 个答案:

答案 0 :(得分:2)

战略模式似乎很合适。 它的要点是实现一个所有求解器都会实现的接口。

然后由解算器组成的类将包含一个List,您可以在运行时插入/删除求解器。

这样你就可以封装哪些变化(即求解器)

有关策略模式的更多信息:https://sourcemaking.com/design_patterns/strategy

答案 1 :(得分:2)

我不了解四人帮的设计模式,但我根据我对有限元方法的了解推荐了一些东西:

  1. 从解决方案的界面(所有纯虚函数)开始。
  2. 使用依赖注入和工厂根据解决方案类型实例化解算器实现。
  3. 将参数外部化到地图中以方便灵活。
  4. 为每种解决方案类型编写自定义验证器,以确保在开始组装和求解方程式的艰苦工作之前,您已获得正确的输入。