工厂模式和依赖注入

时间:2019-05-16 20:20:52

标签: c# design-patterns

在我的C#MVVM应用程序中,我接管了生成类对象的代码。给定要满足的要求,我可能需要根据一个值创建多个对象。因此,我决定使用工厂模式来重构类的生成,并且该模式可以满足该要求。随着任务的进行,提出了更多要求,这不仅包括通过原始字符串变量而且还通过布尔变量创建对象。此外,除了这些变量外,还需要将参数传递给对象,我认为应该通过依赖注入来实现。我的问题是我现在应该使用Factory模式还是其他方式。如何将布尔变量和参数合并到任何推荐的设计模式中。下面是我正在使用的代码示例。

<div class="item-wrap">
	<div class="item-text">
	<strong>Progress animation based on double values (Beta)</strong><br>
    <small>The first value still sends the animation to a relative point between 0 and 1. 
	The second value streches the animated sprite to an offset starting point.</small><br>
    </div>
  <div id="demo_1_wrap" class="demo">
	  <input id="demo_input_2" class="demo_input" type="text" value="0 , 0">
    </div>
    <p>
      <input type="button" name="show" value="show object" onClick="MyObject_2.show()">
      <input type="button" name="hide" value="hide object" onClick="MyObject_2.hide()">
      <input style="float:right" type="button" name="alert" value="alert object" onClick="alertObjectInfo(MyObject_2)">
      <input type="button" name="rand" value="set random" id="demo_2" onClick="randomButton(this.id)">
    </p>
</div>
<div class="item-wrap">
	<div class="item-text">
	<strong>Progress animation based on a single value input</strong><br>
    <small>The input value sends the animation to a relative point between 0 and 1. 
	Empty or wrong input does nothing, where 1 or higher shows the animation at 100%</small><br>
    </div>
  <div id="demo_1_wrap" class="demo">
	  <input id="demo_input_1" class="demo_input" type="text" value="0">
    </div>
    <p>
      <input type="button" name="show" value="show object" onClick="MyObject_1.show()">
      <input type="button" name="hide" value="hide object" onClick="MyObject_1.hide()">
      <input type="button" name="demo_" value="set random" id="demo_1" onClick="randomButton(this.id)">
      <input style="float:right" type="button" name="alert" value="alert object" onClick="alertObjectInfo(MyObject_1)">
    </p>
</div>

0 个答案:

没有答案