当前位置: 首页 > news >正文

网页设计实训报告设计思路短视频seo是什么

网页设计实训报告设计思路,短视频seo是什么,建网站莱阳哪家强?,青海媒体网站建设公司目录 1、建造者模式含义 2、建造者模式的讲解 3、使用C实现建造者模式的实例 4、建造者模式的优缺点 5、建造者模式VS工厂模式 1、建造者模式含义 The intent of the Builder design pattern is to separate the construction of a complex object from its representatio…目录 1、建造者模式含义 2、建造者模式的讲解 3、使用C实现建造者模式的实例 4、建造者模式的优缺点 5、建造者模式VS工厂模式 1、建造者模式含义 The intent of the Builder design pattern is to separate the construction of a complex object from its representation. By doing so the same construction process can create different representations. 将一个复杂对象的构建过程与其表示分离使得同样的构建过程可以创建不同的表示。 其实上面这句话本身是有点晦涩难懂后面在网上看到有人这样说便留下深刻的印象 当一个类的构造函数参数个数超过4个而且这些参数有些是可选的参数考虑使用构造者模式。 这个解释也可以理解为应用场景当我们单纯懂得设计模式怎么实现并不重要重要的是要知道适用于什么场景这个就得靠一些经验和思考了。 2、建造者模式的讲解 从上面的UML可以看出建造者模式涉及到以下四个角色的概念 1抽象建造者角色提供一个接口规范产品对象的建造一般由子类实现。一般来说产品的组成部分数与建造方法数相同即有多少组成部分就有多少个建造方法。 2具体建造者角色该角色实现了抽象建造者抽象建造者接口主要是实现所有声明的方法以及返回建造好的产品实例。 3导演者角色负责调用具体建造者按照顺序建造产品。导演者只负责调度真正执行的是具体建造者角色。 4产品角色该角色是建造的复杂对象提供基本方法。 3、使用C实现建造者模式的实例 #include iostream #include string// 产品类 class Product { public:void setPartA(const std::string partA) {m_partA partA;}void setPartB(const std::string partB) {m_partB partB;}void setPartC(const std::string partC) {m_partC partC;}void show() const {std::cout Product Parts: m_partA , m_partB , m_partC std::endl;}private:std::string m_partA;std::string m_partB;std::string m_partC; };// 抽象建造者类 class Builder { public:virtual void buildPartA() 0;virtual void buildPartB() 0;virtual void buildPartC() 0;virtual Product* getResult() 0; };// 具体建造者类 class ConcreteBuilder : public Builder { public:void buildPartA() override {m_product-setPartA(Part A);}void buildPartB() override {m_product-setPartB(Part B);}void buildPartC() override {m_product-setPartC(Part C);}Product* getResult() override {return m_product;}private:Product* m_product new Product(); };// 指挥者类 class Director { public:void construct(Builder* builder) {builder-buildPartA();builder-buildPartB();builder-buildPartC();} };int main() {Director director;ConcreteBuilder builder;director.construct(builder);Product* product builder.getResult();product-show();delete product;return 0; }在上述示例中我们定义了一个产品类Product它有三个部分Part A、Part B、Part C。然后我们定义了一个抽象建造者类Builder其中包含了构建产品各个部分的纯虚函数。接着我们实现了具体的建造者类ConcreteBuilder它实现了抽象建造者类的纯虚函数并负责构建产品对象。最后我们定义了一个指挥者类Director它负责调用建造者的方法来构建产品。 在主函数中我们创建了一个具体的建造者对象并将其传递给指挥者对象。指挥者根据具体的建造者对象来构建产品最终得到一个完整的产品对象。我们可以通过产品对象的show()方法来展示产品的各个部分。 这就是一个简单的建造者模式的C源码示例 4、建造者模式的优缺点 1优点 1分离构建过程和表示建造者模式可以将一个复杂对象的构建过程与其表示分离使得同样的构建过程可以创建不同的表示形式。这样可以提高代码的灵活性和可维护性。 2更好的封装性通过建造者模式可以将对象的构建过程封装在具体的建造者类中客户端只需要与指挥者进行交互无需关心具体的构建细节。这样可以隐藏对象的创建过程提供更好的封装性。 3可以控制构建过程建造者模式允许你逐步构建对象并在每个步骤中进行必要的操作、检查或验证。这样可以更加灵活地控制对象的构建过程满足不同的需求。 4创建不同表示形式的对象通过定义不同的建造者和指挥者可以根据需求定制不同的构建过程创建不同的产品表示形式。这样可以提供更多的选择和灵活性。 2缺点 1增加了代码量使用建造者模式会增加额外的类和接口从而增加了代码量。如果对象的构建过程比较简单使用建造者模式可能会显得过于繁琐。 2增加了系统复杂性引入建造者模式会增加系统的复杂性因为需要定义多个类和接口并且需要协调指挥者和建造者之间的关系。这可能会增加理解和维护的难度。 3不适用于创建简单对象如果对象的构建过程比较简单只有少量的步骤或参数使用建造者模式可能会显得过于繁琐。此时直接使用简单工厂或工厂方法模式可能更加合适。 总的来说建造者模式通过分离构建过程和表示提供了更好的封装性和灵活性可以控制构建过程并创建不同表示形式的对象。然而它也增加了代码量和系统复杂性不适用于创建简单对象。 5、建造者模式VS工厂模式 建造者模式和工厂模式是两种常见的创建型设计模式它们有以下几点区别 1目的不同工厂模式关注的是创建对象的过程将对象的创建逻辑封装在一个工厂类中通过工厂类来创建具体的对象。而建造者模式关注的是创建复杂对象的过程将对象的构建过程与其表示分离通过指挥者和建造者来逐步构建对象。 2对象复杂度不同工厂模式适用于创建简单对象通常只需要一两个步骤即可完成对象的创建。而建造者模式适用于创建复杂对象对象的构建过程需要多个步骤并且可以根据需求定制不同的构建过程。 3调用方式不同工厂模式通过调用工厂类的方法来创建对象客户端直接与工厂类交互。而建造者模式通过指挥者来控制建造者的构建过程客户端只需要与指挥者进行交互无需直接与建造者类交互。 4灵活性不同工厂模式相对较为灵活可以根据需要扩展和添加新的产品类型只需要添加对应的具体产品和工厂类即可。而建造者模式相对更加灵活可以根据需要定制不同的构建过程创建不同的产品表示形式。 总的来说工厂模式适用于创建简单对象将对象的创建过程封装在工厂类中而建造者模式适用于创建复杂对象通过指挥者和建造者来分步构建对象。
http://www.zqtcl.cn/news/360782/

相关文章:

  • 没有备案的网站怎么做淘宝客html5开发手机网站
  • 酒店旅游团购网站建设推广普通话实践总结
  • 基本的网站开发技术路线建设网站的好处有哪些
  • 网站排行怎么做wordpress all in one seo插件
  • 河北特定网站建设推荐wordpress添加vip用户组
  • 北京商城网站建设地址asp.net网站开发 pdf
  • 如何用网页制作网站龙岩门户网站
  • 中国建设银行官网站下载建设网站弹出后加载不进去
  • 广告网站制作多少钱建设工程合同甲方
  • 一号网站建设誉重网站建设
  • 网站seo优化查询网站开发最合适的搭配
  • 做文员的网站知乎qq小程序怎么打开
  • 网站外链建设分析wordpress生成验证码发送代码
  • 网站设计与制作的过程珠海网站建设 旭洁科技
  • 网站建设项目经费的报告轻创网
  • 青岛网站建设制作软件开发培训学校排行
  • pk10网站怎么做网站建设名词
  • 秦皇岛哪有网站优化公司wordpress看图插件
  • ps做网站宽度想做个网站要多少钱
  • 马克斯网站建设外贸电商平台哪个网站最好
  • 国外网站做任务套利网络推广员怎么做
  • 如何创建一个网站用来存放东西wordpress 可以干嘛
  • 做健身俱乐部网站的目的和意义商超网站
  • 网站点击排名phpcms安装
  • 鹧鸪哨网站1v1深度开发最吸引人的营销广告文案
  • 网站建设可以学吗如何修改wordpress的登录
  • 保定做网站的公司百度软件商店
  • 金华市金东区建设局网站wordpress好看的下载页面
  • 英文网站seo发展前景成都网站开发建设推广
  • p2p网贷网站建设方案制作网站专业公司吗