最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

设计模式:建造者设计模式(Builder)(1)

网站源码admin4浏览0评论

设计模式:建造者设计模式(Builder)(1)

建造者设计模式又称生成器模式。

理解这种设计模式确实比较费劲,它也许是创建型设计模式中最灵活最复杂的设计模式。那么,它在 VFP 中该如何理解呢?

在示例之前,也许初步了解该设计模式是明智的做法。

该模式的核心组件包括:生成器接口、具体生成器、产品类和指挥者。

按照 VFP 的角度,可以理解为:提供一个接口(也就是模板),约定继承自接口(模板)的具体生成器都实现模板中规定的生成器方法;在具体生成器中,有一个属性用于存储产品类实例并在生成器方法中直接或者调用产品类的方法以构建出最终符合要求的产品;而指挥者则是在一个属性中存储具体生成器,并调用该生成器中的方法,最终构建出所需要的产品。

从以上描述,我们大约可以得出这样一个轮廓:模板是唯一的,而继承自模板的具体生成器未必是唯一的;产品类可以定义实现“最完美”产品所需的所有方法;而指挥者则是依据条件,调用生成器的方法,最终给出符合要求的产品,也许它是一个标准产品,也或许是最完美产品,亦或者是一个阉割的产品。

常规情况下,指挥者不能变来变去,所以相对“稳定”,但是生成器和产品类,则存在众多的“变数”,因此,该模式的最终目的,是渐进式的构建符合需要的产品。所有构建出的产品,本质上,它们属于“同类”产品。

PS.当我说产品类时,你可以理解为它是最终产品的模板;而我说产品时,你可以理解为实际在程序中应用的功能类。举个例子:中式菜肴就是产品类;豫菜就是产品。

好吧,暂时这样,我知道看客可能看的感觉是稀里糊涂,但是,这也是我能力范围内能概括的最简短的描述。

如果以 VFP 的主程序为例,那么,在你第一次写主程序时,应用该模式是相当费时的,没有传统的过程化代码那么快;但是,在之后的维护和修改主程序的过程中,它们的效率却会来个大反转。

我知道你可能只是看个热闹而已,它太烧脑了......

如果你有兴趣,请关注后续......

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-18,如有侵权请联系 cloudcommunity@tencent 删除存储builder产品接口设计模式
发布评论

评论列表(0)

  1. 暂无评论