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

a站在线观看人数在哪广告营销方式有哪几种

a站在线观看人数在哪,广告营销方式有哪几种,用asp做的一个网站实例源代码,搜索引擎优化网站的网址目录 建造者模式盖房项目需求基本介绍四个角色实例代码注意事项和细节抽象工厂模式 VS 建造者模式 建造者模式 盖房项目需求 传统方式:打地基,砌墙,封顶 盖房子步骤 public abstract class AbstractHouse {// 地基public abstract void b…

目录

  • 建造者模式
    • 盖房项目需求
    • 基本介绍
    • 四个角色
    • 实例代码
    • 注意事项和细节
    • 抽象工厂模式 VS 建造者模式

建造者模式

盖房项目需求

  • 传统方式:打地基,砌墙,封顶

盖房子步骤

public abstract class AbstractHouse {// 地基public abstract void buildBasic();// 砌墙public abstract void buildWall();// 封顶public abstract void buildFed();// 建造public void build(){buildBasic();buildWall();buildFed();}
}

盖普通房子

public class CommonHouse extends AbstractHouse{@Overridepublic void buildBasic() {System.out.println("普通房子打地基");}@Overridepublic void buildWall() {System.out.println("普通房子砌墙");}@Overridepublic void buildFed() {System.out.println("普通房子封顶");}
}

测试

public class Client {public static void main(String[] args) {new CommonHouse().build();}
}

这种方式的优缺点

  • 优点是简单好理解,简单易操作
  • 设计的程序结构,过于简单,乜有设计缓存层对象,程序的扩展和维护性不好,也就是说,这种设计方案,把产品(即:房子)和 创建产品的过程(即:建房子流程)封装在一起,耦合性增强了
  • 解决方案:将产品和产品建造过程解耦==> 建造者模式

基本介绍

  • 建造者模式又叫生成器模式,是一种对象构建模式,他可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象

  • 建造者模式是一步一步创建一个复杂的对象,他允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节

四个角色

  • Product(产品角色): 一个具体的产品对象
  • Builder (抽象建造者): 创建 Product对象的各个部件指定的接口/抽象类
  • ConcreteBuilder (具体建造者): 实现接口,构建和装配各个部件
  • 建造一个使用Builder接口的对象,它主要是用于创建一个复杂的对象,它主要有两个作用,一个是:隔离了产品和对象的生产过程,另一个是:负责控制产品对象的生产过程

image-20231105174533726

实例代码

image-20231105174936783

抽象的建造者 ==> Build

public interface HouseBuild {House HOUSE = new House();// 将建造的流程规定好void buildBasic();void buildWall();void buildRoofed();// 返回建造的房子default House buildHouse() {return HOUSE;}
}
  • 产品

image-20231105182642338

  • 具体建造者 ConcreteBuilder (具体建造者)
public class HighHouse implements HouseBuild {@Overridepublic void buildBasic() {System.out.println("高楼打地基");}@Overridepublic void buildWall() {System.out.println("高楼打地基");}@Overridepublic void buildRoofed() {System.out.println("高楼打地基");}
}
public class CommonHouse implements HouseBuild {@Overridepublic void buildBasic() {System.out.println("普通房子打地基");}@Overridepublic void buildWall() {System.out.println("普通房子打地基");}@Overridepublic void buildRoofed() {System.out.println("普通房子打地基");}
}

Director (指挥者)

public class HouseDirect {private HouseBuild houseBuild = null;// 使用构造器注入houseBuild对象public HouseDirect(HouseBuild houseBuild) {this.houseBuild = houseBuild;}public void setHouseBuild(HouseBuild houseBuild) {this.houseBuild = houseBuild;}// 建造房子public House constructHouse(){houseBuild.buildBasic();houseBuild.buildWall();houseBuild.buildRoofed();return houseBuild.buildHouse();}
}

测试

public class Client {public static void main(String[] args) {System.out.println("---普通房子---");HouseBuild commonHouseBuild = new CommonHouse();HouseDirect houseDirect = new HouseDirect(commonHouseBuild);houseDirect.constructHouse();System.out.println("---高楼---");HouseBuild highHouseBuild = new HighHouse();// 修改houseDirect为HighHousehouseDirect.setHouseBuild(highHouseBuild);houseDirect.constructHouse();}
}

注意事项和细节

  • 客户端(使用程序)不必知道产品内部组成的细节,将产品本身与产品的创建过程解耦,使得相同的创建过程可以创建不同的产品对象
  • 每一个具体建造者都相对独立,而与其他的具体建造者无关,因此可以很方便地替换具体建造者或增加新的具体建造者,用户使用不同的具体建造者即可得到不同的产品对象
  • 可以更加精细的控制产品的创建过程,将复杂产品的创建步骤分解在不同的方法中,使得创建过程更加的清晰,也更方便使用程序来控制创建过程
  • 增加新的具体建造者无须修改原有类库的代码,指挥者类针对抽象建造者类编程,系统扩展方便,符合开闭原则
  • 建造者模式所创建的产品一般具有较多的共同点,其组成部分相似, 如果产品之间的差异性很大,则不适合使用建造者模式 因此其使用范围收到一定的影响
  • 如果产品的内部变化很复杂,可能会导致需要定义很多具体建造者类来实现这种变化,导致系统变得很庞大,因此在这种情况下,要考虑是否选择建造者模式

抽象工厂模式 VS 建造者模式

抽象工厂模式实现对产品家族的创建,一个产品家族是这样的一系列产品:具有不通分类维度的产品组合,采用抽象工厂模式不需要关心构建过程,只关心什么产品由什么工厂生产即可,而建造者模式则是要按照指定的蓝图建造产品,他的主要目的是通过组装零配件而生产一个新产品

http://www.yidumall.com/news/105491.html

相关文章:

  • 湖南沙坪建设集团有限公司网站网站流量监控
  • 做企业网站和邮箱新东方考研培训机构官网
  • 在线做网站提升关键词
  • 响应式网站模板xd网店培训教程
  • 上海注销营业执照流程信息流优化师培训机构
  • 网站建设应考虑哪些方面的问题软件开发培训班
  • 电商网站开发技术与维护网址提交
  • 中怎么做网站上下载图片的功能个人网页设计作品模板
  • 宜宾网站开发公司最近军事新闻热点大事件
  • wordpress5.0汉化版百度有专做优化的没
  • 葫芦岛网站建设厦门seo关键词优化培训
  • wordpress插件有什么用windows优化大师有必要安装吗
  • 卓训网是个什么网站日本域名注册网站
  • 歌手投票网站怎么做seo搜索引擎官网
  • 中国排建设银行悦生活网站seo专员是做什么的
  • 淄博三合一网站开发制作网页多少钱
  • 南昌网站设计单位公司seo搜索引擎优化就业前景
  • 什么网站做的号武汉seo排名公司
  • 荣成市住房和城乡建设局网站石家庄头条今日头条新闻
  • wordpress开启多站点模式seo常用优化技巧
  • 电商网站怎么做与众不同网站推广优化外包公司哪家好
  • 网站建设与微信公众号绑定长尾关键词什么意思
  • 网站字体使用网推接单平台有哪些
  • 自己设计建房子的软件网站优化团队
  • 建设网站都需投入哪些资源网站建设黄页在线免费
  • 美食网站黑米如何做seo优化啥意思
  • 大连 网站开发网站排名软件包年
  • 我贷款网站如何做seo需要培训才能找到工作吗
  • 17做网站广州沙河企业产品营销策划推广
  • 找人做网站不算诈骗罪吗搜索引擎调词工具哪个好