实用 AI

可在线运行 AI 集合,涵盖 AI 文案生成、写作辅助、AI 绘图与照片修复、AI 配音、字幕生成、语音转录以及 AI 视频创作和数字人等多种 AI 服务

查看详情

生成器模式

软件设计模式
2021-05-17 14:29 · 阅读时长3分钟
小课

生成器模式又称为建造者模式,主要用于创建复杂的对象,这类对象通常有许多属性,需要根据业务设置或多或少的参数,如果把参数全部都放在构造方法或者初始化方法中就会显得很臃肿,通过生成器模式,我们可以把创建对象这个过程抽象出来分为多个步骤,可分为必须和非必需步骤,使用者可以根据自己的业务进行调用。

下面还是以搜索引擎为例,来看看生成器模式的套路,假设我们有一个搜索引擎类。

加载中...

SearchEngine中name是必传参数,其它的是可选参数,根据这个特点实现Builder,我们通常会将Builder类放在其需要生成的类内部,申明为一个静态内部类,这样可以让生成器更好的控制权限。

加载中...
总结

生成器模式一般是在需要生成的类中定义一个名为Builder的静态内部类,然后把需要设置的参数通过Builder暴露出来,在使用的时候可以通过链式调用来设置各种参数 ,最后通过build方法将创建好的对象返回。

通过生成器模式,可以将复杂的对象创建逻辑抽象出来,减少原来类的工作量,还能让创建对象的逻辑更加清晰、简洁。

建造者模式生成器模式builder