1
我的課是這樣的:一流的設計:如何排序或交替邏輯添加到API
class FB_I {
public:
virtual void foo() = 0;
virtual void bar() = 0;
};
class TEE_I {
public:
virtual void tee() = 0;
};
class C: public FB_I, public TEE_I {
public:
virtual void foo();
virtual void tee();
};
現在我認識到FOO()和bar()實際上不是完全獨立的,FOO()必須是在bar()之前調用。
我不知道什麼是處理此給出以下的最佳解決方案:
- 我不想在C添加邏輯:: foo的()和C ::三通()來捕捉無序呼叫。
- 我可以使用解決方案作爲模式來處理另一種情況,foo()和bar()是替代API:當一個被調用時,另一個不應該是。
您將如何趕上如果事情被調用或沒有補充說,邏輯是什麼?即使有它的一個功能,它會在內部做到這一點。 而且也沒有你用有效的虛函數覆蓋bar的地方。您應該通過提供適當的書面文檔來處理這兩種情況。 – Etherealone