建造者模式:我们有这样的一个场景,我们有多 变的产品,有多变的建造者,这个时候我们完全可以按照工厂方法模式来设计,但是当我们还需要对建造者进行某些建造过程变化的灵活控制的时候,这个时候我们就可以对建造者这个类封装到一个Director的类中,在这个Director类中我们可以对建造者的行为进行一个可变因素的控制。这里其实我们是对对象的不同维度上的扩展,其实这个时候我们完全可以只在建造者和产品的子类上通过抽象类来扩展,但是这样的扩展增加了复杂性,而且改变的话会导致整个所有的产品和建造者都需要改变,非常复杂麻烦。我们这里使用一个统一的Director类来统一管理,解决了建造者与产品共性问题,也解决了变化的部分,而且管理非常的方便简单,只需要对这个类改变就可以了。当系统复杂的时候,Director可以有多个,而且Director也可以抽象出接口,这样当我们要对Director进行扩展的时候将会非常的方便,提高了整个系统的健壮性,当然,如果系统不需要,我们尽量的简单化处理。简单才是最重要的。
对建造者模式的理解
最新推荐文章于 2022-04-28 16:19:34 发布