(8)设计模式

编程入门 行业动态 更新时间:2024-10-25 04:23:18

(8)设计<a href=https://www.elefans.com/category/jswz/34/1771241.html style=模式"/>

(8)设计模式

文章目录

    • 1. 定义
    • 2. 类图
    • 3. 建造者模式使用场景
    • 4. 工厂模式和建造者模式区别

1. 定义

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

英文为 Builder 模式,中文翻译为 建造者模式 或者 构建者模式,也有人叫它 生成器模式。

2. 类图

3. 建造者模式使用场景

  • 把类的必填属性放到构造函数中,强制创建对象的时候就设置。如果必填的属性有很多,把这些必填属性都放到构造函数中设置,那构造函数就又会出现参数列表很长的问题。如果把必填属性通过 set() 方法设置,那校验这些必填属性是否已经填写的逻辑就无处安放了。
  • 如果类的属性之间有一定的依赖关系或者约束条件,继续使用构造函数配合 set() 方法的设计思路,那这些依赖关系或约束条件的校验逻辑就无处安放了。
  • 如果希望创建不可变对象,也就是说,对象在创建好之后,就不能再修改内部的属性值,要实现这个功能,就不能在类中暴露 set() 方法。构造函数配合 set() 方法来设置属性值的方式就不适用了。

4. 工厂模式和建造者模式区别

工厂模式是用来创建不同但是相关类型的对象(继承同一父类或者接口的一组子类),由给定的参数来决定创建哪种类型的对象。建造者模式是用来创建一种类型的复杂对象,可以通过设置不同的可选参数,“定制化”地创建不同的对象。

使用建造者模式创建对象,还能避免对象存在无效状态。

更多推荐

(8)设计模式

本文发布于:2024-02-11 15:23:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1681725.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:模式

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!