意图:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程能够创建不同的表示。也可以通过改变产品的构建过程,从而生成不同的产品。
例子:
如KFC中的套餐可分为成人套餐和儿童套餐,成人套餐产品包括:大可,大汉堡,大份薯条等,儿童套餐则包括小可、mini汉堡、小份薯条等。套餐的构建过程一致,但产品不一致。
适用性:
1) 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时,有助于将产品的构建过程和具体产品解耦。
2) 当构建过程有不同的构建对象表示时
uml描述
时序图描述: