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

重庆旅游seo整站优化黄骅市人事考试网

重庆旅游seo整站优化,黄骅市人事考试网,网站建设公司怎么做好,广州网站改版哪家好理解生成器模式在于:一个对象若由多个部分组成,只要构建好这些部分然后拼接到一起就组成了一个完整的对象。比如一台电脑,它的类型可以不一样,可以是苹果的,可以是联想的,等等。同一款电脑它的组件也不一样…

 理解生成器模式在于:一个对象若由多个部分组成,只要构建好这些部分然后拼接到一起就组成了一个完整的对象。比如一台电脑,它的类型可以不一样,可以是苹果的,可以是联想的,等等。同一款电脑它的组件也不一样,有的内存大一点,有的CPU高级点。如果把不同款式的电脑都封装成一个对象的话就比较复杂,使用生成器模式可以快速构建自己需要的对象。下面使用这个案例说明。

 

package Builder;public class Client {public static void main(String[] args) {Direct direct = new Direct();ComputerBulider computerBuliderA = new ComputerABuilder();direct.setCb(computerBuliderA);Computer computerA = direct.contructor();System.out.println(computerA.toString());ComputerBulider computerBuliderB = new ComputerBBuilder();direct.setCb(computerBuliderB);Computer computerB = direct.contructor();System.out.println(computerB.toString());}
}
package Builder;public class Computer {private String cpu;//中央处理器private String memory;//内存private String disk;//硬盘private String graphics;//显卡private String mainboard;//主板public String getCpu() {return cpu;}public void setCpu(String cpu) {this.cpu = cpu;}public String getMemory() {return memory;}public void setMemory(String memory) {this.memory = memory;}public String getDisk() {return disk;}public void setDisk(String disk) {this.disk = disk;}public String getGraphics() {return graphics;}public void setGraphics(String graphics) {this.graphics = graphics;}public String getMainboard() {return mainboard;}public void setMainboard(String mainboard) {this.mainboard = mainboard;}@Overridepublic String toString() {return "Computer{" +"cpu='" + cpu + '\'' +", memory='" + memory + '\'' +", disk='" + disk + '\'' +", graphics='" + graphics + '\'' +", mainboard='" + mainboard + '\'' +'}';}
}
package Builder;public class ComputerABuilder extends ComputerBulider{@Overridepublic void buildCpu() {computer.setCpu("CPUA");}@Overridepublic void buildMemory() {computer.setMemory("内存A");}@Overridepublic void buildDisk() {computer.setDisk("硬盘A");}@Overridepublic void buildGraphics() {computer.setGraphics("显卡A");}@Overridepublic void buildMainboard() {computer.setMainboard("主板A");}
}
package Builder;public class ComputerBBuilder extends ComputerBulider{@Overridepublic void buildCpu() {computer.setCpu("CPUB");}@Overridepublic void buildMemory() {computer.setMemory("内存B");}@Overridepublic void buildDisk() {computer.setDisk("硬盘B");}@Overridepublic void buildGraphics() {computer.setGraphics("显卡B");}@Overridepublic void buildMainboard() {computer.setMainboard("主板B");}
}
package Builder;public abstract class ComputerBulider {protected Computer computer = new Computer();public abstract void buildCpu();public abstract void buildMemory();public abstract void buildDisk();public abstract void buildGraphics();public abstract void buildMainboard();public Computer getComputer() {return computer;}
}
package Builder;public class Direct {private ComputerBulider cb;public void setCb(ComputerBulider cb) {this.cb = cb;}public Computer contructor() {cb.buildDisk();cb.buildGraphics();cb.buildCpu();cb.buildMainboard();cb.buildMemory();return cb.getComputer();}
}

所有的电脑都是一个产品Product,所有的组件都在这里声明。ConcreteBulider作用是构建电脑具体的部件,Direct作用是将部件组装,并提供方法可以让Client拿到电脑。在Client中声明了Direct和ConcreteBulider,将ConcreteBulider传入Direct中完成组装然后调用方法拿到电脑。

http://www.yayakq.cn/news/292453/

相关文章:

  • 网站建设十胜石资讯网站手机网站模板
  • 广州智能模板建站留学生做留服证明在哪个网站
  • 阿里云服务器可以做多少个网站网站用户体验设计
  • 广西高端网站建设wordpress页脚插件
  • 成都购物网站设计潍坊做网站多少钱
  • 网站怎么添加统计代码厦门做网站找哪家公司
  • 做企业网站 asp的cms系统哪个好网站常用的字体
  • 网站策划怎么写wordpress文章幻灯片
  • 开了个网站用年份做名字好吗3d网页游戏排行榜前十名
  • 淘宝网站c 设计怎么做呼和浩特网站建设电话
  • 在本地用dedecms做好的网站如何上传到服务器?做邮箱网站
  • 扬州做网站哪家好2023年中国企业500强
  • 县区网站集约化建设大数据网站开发
  • 站长工具综合查询系统深圳市建设工程造价管理站
  • 网站卖东西怎么做石家庄网红打卡地
  • 权大师的网站是哪个公司做的免费网络推广
  • 网站开发常用的数据库黑龙江省建设安全教育信息网
  • 哈尔滨网站seo重庆建设门户网站
  • 襄阳做网站微商网站怎么做
  • 最新网站开发技术最近的新闻大事20条
  • wordpress 外部视频seo服务公司
  • 长沙定制网站开发建设网站jw100
  • asp网站如何改首页布局视频教程wordpress怎么文章共享
  • 网站备案代码如何加到成都新津县建设网站
  • wordpress 爱情模板下载地址全网优化哪家好
  • 网站推广方案中js网站计数器代码
  • 深圳分销网站设计多少钱物流网站给做软件下载
  • 免费图标下载网站服装设计官网
  • 平顶山营销型网站建设免费学ps的网站有哪些
  • 网站更换空间改版收录软件技术专业课程