我只是想知道這是否是間接的許多層?間接層太多了,這太多了嗎?
Alt text http://img244.imageshack.us/img244/7371/classdiagram1.jpg
我嘗試做解釋的一點點。這個想法是,我正在COM對象的頂部創建一個API,它只暴露了Do和Eval方法。
此前,我剛剛將一個IComObject傳遞到Table類中,並直接針對該類,但這意味着當我嘗試和測試Table類時,我模擬了IComObject,並擔心發送到我表中的COM對象的命令類。
其基本思想是我有命令運行者負責調用COM對象中的正確命令,並且Table(和其他)對象只是與命令運行者交談,而不必擔心正在執行的命令。然後在我的測試中,我可以這樣做:
Mock<TableCommandRunner> mockrunner = new Mock<TableCommandRunner>();
mockrunner.Setup(run => run.getName("DummyTable")).Returns("FakeName");
Table table = new Table("DummyTable");
//Table.Name just calls commandrunner.getName
Assert.Equal(table.Name,"FakeName");
是否有太多的間接層,或者這是行嗎?
注:我將有更多的類然後只是表,像地圖,窗口,對象等,這些都會與命令跑步者交談。
我認爲這個問題有點主觀,也許考慮重新措詞它。 – 2010-11-04 11:32:30
圖像鏈接已損壞。 – 2016-12-14 16:23:51