我有以下场景(这适合更大的 mvc 框架)
有一个大型 xml 配置,它定义了可用于系统特定功能的模型类型:
<object_type1_config>
<type_id>1</type_id>
<type_model>amazinTypeModel</type_model>
<config_value1>blah</config_value1>
<config_value2>blah blah</config_value2>
</object_type1_config>
在控制器中,基于某些请求参数,我可以决定在运行时使用哪个模型并确定要渲染哪个模板等。
另一个复杂性是,如果该模型类型的配置中不存在某些值,则可以使用一组默认值。这组默认值将在所有可能的对象类型中用作默认值。
问题是控制器充满了用于解析此配置值以获取参数然后根据这些参数做出决策的逻辑。
所以将它移到另一个类是有意义的,但是在这里使用的最佳设计模式是什么,因为控制器实际上仍然必须解析配置才能首先获取模型类型。然后它必须实例化模型类型并查询它的值。
我在这里看不到任何解耦的方法