设计模式:组合模式

blog宗旨:用图说话

辅助文字说明:

1.调用形式:在Client中使用component.method();

2.使用范围:具有相同结构的聚合、组合。


举例:

生成条件语句:when avg(cpu) > 60% or avg(mem) > 70% for 3 min then do scale up,对于avg(cpu) > 60% , avg(mem) > 70%,或者其他条件语句,个数是不定的。用and、or连接,由用户自己定义。

那么这里运用组合模式:

Part为:avg(cpu)>60%

Component为avg(cpu) > 60% or avg(mem) > 70%

Composit为Component与Part的聚合:如avg(io)>80% and (avg(cpu) > 60% or avg(mem)>70%)

对应的UML图例如以下:



原文地址:https://www.cnblogs.com/yxwkf/p/5050052.html