文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

BUILDER模式的实现方法是什么

2023-06-19 10:37

关注

本篇内容主要讲解“BUILDER模式的实现方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“BUILDER模式的实现方法是什么”吧!

效果

它将构造代码和表示代码分开

Builder模式将构建对象的代码和表现(表达)对象的代码隔离开。这里的构建偏向于抽象的指示部分,表现(表达)则偏向实际的输出。例如我们说装一扇门,对于建筑模型来讲,可能就是在模型上粘一个小木板;对于现场工人来讲,可能真的就是安装一个防盗门。这里装一扇门就是抽象的指示,而粘小木板或者安装防盗门则是具象表现(表达)的部分。

Builder模式通过封装一个复杂对象的创建和表示方式提高了对象的模块性。客户不需要知道定义产品内部结构的类的所有信息;这些类是不出现在Builder接口中的。

构建任何一个对象,一般来讲都有一个从抽象构建到具象构建(实现、表达)的过程。将这两个过程分离之后,使用接口的一侧就不需要了解接口实现的方式和内容,所以说这个对象更加模块化了。

当然只有复杂到一定程度之后,这种分离才会产生实际的意义。要不要分离,需要设计者根据自己的看法进行判断。

每个ConcreteBuilder包含了创建和装配一个特定产品的所有代码。这些代码只需要写一次;然后不同的Director可以复用它以在相同部件集合的基础上构作不同的Product。在前面的RTF例子中,我们可以为RTF格式以外的格式定义一个阅读器,比如一个SGMLReader,并使用相同的TextConverter生成SGML文档的ASCIIText、TeXText和TextWidget译本。

具象Builder类承担的是实际构建的部分,它应该包含生成特定产品的代码。对于每类(不是每个)产品,这部分代码只需要写一次;抽象构建的逻辑可以由不同的Director或者相同Director的不同逻辑来决定。

首先来看《设计模式》中的实例的类图:

BUILDER模式的实现方法是什么

TextConverter中分别定义了转换字符,字体和段落的接口。

DocumentBuilder定义了文档开始,结束和生成Title1,Title2,Text的接口。

这种不同,其实这就是一个实际开发中如何定义Builder接口的问题。关于这个问题,作者的观点是:

  1. 接口的定义应该按照Director世界中的观点来进行。

  2. 接口的定义还应该考虑具象Builder的可实现性。

到此,相信大家对“BUILDER模式的实现方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯