建造者模式有很好的封装性,外界不需要知道产品具体是如何进行组合的。每个建造者都是互相独立互不影响的。先说一下建造者模式的构成,网上随便都可以查的到: 1.产品 2.抽象建造者(包含返回产品的方法) 3.具体建造者 4.指挥者 举例说明,王者荣耀游戏有很多角色,角色就是产品,每个角色都有各自的五官、皮肤、武器等属性。 抽象建造者定义了生成具体角色需要的方法,比如构建五官、构建皮肤、构建武器等。具体建造者负责建造具体的角色,比如黄忠的建造者、娜可露露的建造者、鲁班的建造者等。具体的建造者直接互不干扰。指挥者是需要指挥来构建具体需要构建的角色是黄忠还是鲁班。 下面贴代码看一下:
角色(产品) 抽象建造者,包含了一个返回角色(产品)的方法 具体建造者黄忠和鲁班 指挥者负责构建具体的产品 接下来我们需要给用户展现鲁班的五官和皮肤 但是在展示之前,我们的鲁班五官和皮肤都是没有的,那我们就需要调用一下指挥者来构建一下鲁班的五官和皮肤。 调用test方法输出鲁班的相关信息