设计模式选择

Design pattern choice for application

本文关键字:选择 设计模式      更新时间:2023-10-16

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

策略模式似乎很合适。要点是实现您所有求解器都将实现的接口。

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

这样,您正在封装什么变化(即求解器)

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

我对四个设计模式的帮派不了解,但是我建议一些我对有限元方法的了解:

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