Posted on 2009-01-26 16:42
S.l.e!ep.¢% 閱讀(1284)
評論(2) 編輯 收藏 引用 所屬分類:
Design Pattern
所面臨的幾個客戶,他們所要求的功能大同小異
客戶A 與 客戶B的UI 不一樣,
客戶A 需要 Function_1, Function_2, Function_3, Function_4
客戶B 需要 Function_2, Function_3, Function_5
于是將所有的 Function 都做到了基類
class BaseClass
{
public:
??? void Function_1();
??? void Function_2();
??? void Function_3();
??? void Function_4();
??? void Function_5();
};
當公司多了一個客戶C
客戶C 需要的功能是 Function_2, Function_3, Function_6
于是基類需要再次修改
class BaseClass
{
public:
??? void Function_1();
??? void Function_2();
??? void Function_3();
??? void Function_4();
??? void Function_5();
??? void Function_6();
};
基類一改,BUG就越多,于是修改為
class Function_1
{
public:
};
……
class Function_6
{
public:
};
class Custom_A
{
public:
private:
???? Function_1 m_fun_1;
???? Function_2 m_fun_2;
???? Function_3 m_fun_3;
???? Function_4 m_fun_4;
};
class Custom_B
{
public:
private:
???? Function_2 m_fun_2;
???? Function_3 m_fun_3;
???? Function_5 m_fun_5;
};
如此修改,雖然基類 BaseClass 可以避免每次的修改
但 瞬間,Function_x 類暴增~
類的個數多了幾十個…………