设计模式选择
Design pattern choice for application
我正在启动一个项目,该项目由偏微分方程的一些求解器(所有求解相同类型的方程式)用于工业目的。该应用程序应该具有具有不同求解器的GUI(与计算代码分开)和DLL。目的是实现可扩展性,以创建新的更好的求解器并将其添加到求解器列表中。不同的求解器需要一组不同的参数。我应该考虑哪种设计模式?
策略模式似乎很合适。要点是实现您所有求解器都将实现的接口。
然后由求解器组成的类包含一个列表,您可以在运行时插入/删除求解器。
这样,您正在封装什么变化(即求解器)
有关策略模式的更多信息:https://sourcemaking.com/design_patterns/strategy
我对四个设计模式的帮派不了解,但是我建议一些我对有限元方法的了解:
- 从求解器的接口(所有纯虚拟函数)开始。
- 使用依赖注入和工厂根据解决方案类型实例化求解器实现。
- 将参数外部化到地图中以易于灵活。
- 为每种解决方案类型编写自定义验证器,以确保您在开始组装和求解方程的艰苦工作之前拥有适当的输入。
相关文章:
- 派生类是否可以在抽象工厂设计模式中具有数据成员
- 资源管理设计模式
- 用于在回调中调用解析器的设计模式
- 设计帮助 - 为不同类型的消息处理通用接口的设计模式
- 在这种情况下我应该使用哪种设计模式
- C++中物体改变识别的设计模式?
- 确保所有构造函数调用相同的函数 c++ 设计模式
- 需要实例化不同类/对象并在启动时确定的硬件插槽的设计模式
- 设计模式,以避免不必要地添加抽象函数以适应新功能
- 工厂设计模式优化
- 使用C++模板的数据映射器设计模式
- 为什么以及如何使用原型设计模式
- 具有多个继承共享一个资源的对象 - 寻找良好的设计模式
- 在C++中创建观察器设计模式的好方法
- 现代C++在多大程度上消除了对设计模式的需求?
- 对于存储另一个类所需信息的类,例如其构造,是否有设计模式?
- 下面抽象工厂设计模式的实现是正确的吗
- sql记录集函数的状态设计模式
- 是否有可以处理方法调用依赖关系的设计模式?
- 设计模式选择