![]() |
1
45
您可能在此场景中使用部分模拟,尽管您的所有方法都需要是虚拟的:
|
![]() |
2
2
|
![]() |
3
1
编辑 :我现在同意这不是安德鲁案件的正确答案。我想把这个答案留在这里作为评论线索。请不要再投反对票了:) 编辑前: 通常,模拟对象框架的设计并不是为了简化单个类场景,而是为了隔离代码,以便您可以测试单个类。 如果您试图使用模拟对象框架来解决这个问题,那么框架将创建一个派生类并重载该方法。唯一不同的是,您可以在大约3行而不是5行中完成这项工作,因为您不必创建派生类定义。
如果您想使用模拟对象来隔离这个行为,那么您应该将这个类拆分一下。这个
您遇到这个问题的事实可能表明有一个更简单或更细粒度的设计尚待发现。找到一个不那么具体的类,它的名称类似于“manager”或“service”,这通常意味着您可以将设计分解为更小的类,并从中获得更好的可重用性和可维护性。 |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |