組合模式使使用者對單個物件和組合物件的使用具有一致性。
應用場景:需求中體香部分和整體層次的結構或希望使用者忽略組合物件與單個物件的不同,可以統一地使用組合結構中的所有物件。
優點:基本物件可以被組合成更複雜的組合物件,而這個組合物件又可以被組合,可以不斷地遞迴下去。
// 抽象公司類
public abstract class company
public string getname()
public void setname(string name)
// 增加
public abstract void add(company c);
// 移除
public abstract void remove(company c);
// 顯示
public abstract void display(int depth);
// 履行職責
public abstract void lineofduty();
}// 具體公司類
public class concretecompany extends company
@override
public void add(company c)
@override
public void display(int depth)
c.display(depth + 2);
} }@override
public void lineofduty()
} @override
public void remove(company c)
}public class financedepartment extends company
@override
public void add(company c)
@override
public void display(int depth)
@override
public void lineofduty()
@override
public void remove(company c)
}public class hrdepartment extends company
@override
public void add(company c)
@override
public void display(int depth)
@override
public void lineofduty()
@override
public void remove(company c)
}public class compositemain
}
大話設計模式十九 組合模式(分公司 一部門)
組合模式使使用者對單個物件和組合物件的使用具有一致性。應用場景 需求中體香部分和整體層次的結構或希望使用者忽略組合物件與單個物件的不同,可以統一地使用組合結構中的所有物件。優點 基本物件可以被組合成更複雜的組合物件,而這個組合物件又可以被組合,可以不斷地遞迴下去。抽象公司類 public abstr...
大話設計模式 組合模式
abstract class component public abstract function add component c public abstract function remove component c public abstract function display depth 葉...
大話設計模式 組合模式
前言 在 軟體開發過程中,我們經常會遇到處理簡單物件和復合物件的情況,例如對作業系統中目錄的處理就是這樣的乙個例子,因為目錄可以包括單獨的檔案,也可以包括 資料夾,資料夾又是由檔案組成的,由於簡單物件和復合物件在功能上區別,導致在操作過程中必須區分簡單物件和復合物件,這樣就會導致客戶呼叫帶來不必要的...