我有两个课程,BuildingHandler
和TestHandler
。
BuildingHandler
包含LoadBuildings
的方法,TestHandler
包含LoadTests()
现在我想创建一个名为LoadBuildingTests
的函数。
由于功能与建筑物和测试相关,我不确定将其放入哪个处理程序。
我倾向于在LoadBuildingTests
中使用BuildingHandler
,然后一旦检索到ID TestHandler.LoadTests();
这看起来是否合理,或者我是以错误的方式接近它?我应该研究接口还是其他方法?
答案 0 :(得分:2)
我将LoadBuildingTests
留在BuildingHandler
内并传递TestHandler
作为参数:
public class BuildingHandler
{
public static void LoadBuildingTests(TestHandler testHandler)
{
if (testHandler == null) throw ....
var building = LoadBuilding();
var tests = testHandler.LoadTests(building.Id);
//....
}
//..
}
同样有效的是在TestHandler
中实现该方法并传递BuildingHandler
作为参数,但我没有足够的上下文来决定哪个更好。乍一看,我更喜欢第一个选项。