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

大学网站建设技术方案福州网站设计培训

大学网站建设技术方案,福州网站设计培训,科技公司企业网站建设,wordpress上图片不显示目录 简介 四个角色 应用场景 实现步骤 和工厂模式的区别 简介 建造者模式也叫生成器模式#xff0c;是一种对象构建模式#xff1b;它可以把复杂对象的建造过程抽象出来(抽象类别)#xff0c;使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象#xff1b;…目录 简介 四个角色 应用场景 实现步骤 和工厂模式的区别 简介 建造者模式也叫生成器模式是一种对象构建模式它可以把复杂对象的建造过程抽象出来(抽象类别)使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象建造者模式是一步一步创建一个复杂的对象它允许用户只通过指定复杂对象的类型和内容就可以构建它们用户不需要知道内部的具体构建细节 四个角色 1. Product(产品角色)一个具体的产品对象 2. Builder(抽象建造者)创建一个 Product 对象的各个部件指定的接口/抽象类 3. ConcreteBuilder(具体建造者)实现接口构建和装配各个部件 4. Director(指挥者)构建一个实用 Builder 接口的对象它主要是用于创建一个复杂的对象它主要有两个作用隔离了客户和对象的生产过程负责控制产品对象的生产过程 应用场景 相同的方法不同的执行顺序产生不同的结果多个部件或零件都可以装配到对象中但是产生的结果不同产品类非常复杂或者产品类中不同的调用顺序产生不同的结果初始化一个对象特别复杂参数多而且很多参数都具有默认值 实现步骤 这里以建造房屋为例建造房屋分为 3 个步骤打地基建墙封顶 1. 新建 House.class即产品角色 /*** 房子类*/ public class House {// 地基private String foundation;// 墙private String wall;// 屋顶private String roof;public String getFoundation() {return foundation;}public void setFoundation(String foundation) {this.foundation foundation;}public String getWall() {return wall;}public void setWall(String wall) {this.wall wall;}public String getRoof() {return roof;}public void setRoof(String roof) {this.roof roof;} } 2. 新建 HouseBuilder.class这是一个抽象类定义了建造房屋的基本流程和规范 /*** 房屋建造指挥者, 指定建房流程*/ public abstract class HouseBuilder {protected House house new House();// 打地基public abstract void buildFoundation();// 建墙public abstract void buildWall();// 封顶public abstract void buildRoof();// 建房流程public House buildHouse() {return house;} } 3. 新建 VillaHouseBuilder.class继承 HouseBuilder.class实现具体的别墅建造过程 /*** 别墅类-实际房子建造*/ public class VillaHouse extends HouseBuilder {Overridepublic void buildFoundation() {house.setFoundation(别墅-地基30米);}Overridepublic void buildWall() {house.setWall(别墅-砖墙);}Overridepublic void buildRoof() {house.setRoof(别墅-瓦顶);} } 4. 新建 HouseDirector.class指挥者负责具体的创建 house 的过程 /*** 指挥者, 控制房子创建流程*/ public class HouseDirector {private HouseBuilder houseBuilder;public HouseBuilder getHouseBuilder() {return houseBuilder;}public void setHouseBuilder(HouseBuilder houseBuilder) {this.houseBuilder houseBuilder;}// 具体建造过程public House constractVillaHouse() {houseBuilder.buildFoundation();houseBuilder.buildWall();houseBuilder.buildRoof();return houseBuilder.buildHouse();} } 5. 测试一下对象的创建 public static void main(String[] args) {VillaHouse villaHouse new VillaHouse();HouseDirector houseDirector new HouseDirector();houseDirector.setHouseBuilder(villaHouse);House house houseDirector.constractVillaHouse();System.out.println(别墅建造信息: );System.out.println(house.getFoundation());System.out.println(house.getWall());System.out.println(house.getRoof()); } 其实观察上面的代码我们发现建造者模式主要是把对象的创建过程分离了创建和表示分离如果我们需要创建不同的对象只需再创建建造者和指挥者即可如果建造的流程有变化我们也只需要调整指挥者即可这在一定程度上带来了代码的臃肿但达到了解耦的效果所以这种模式适合创建复杂的对象 和工厂模式的区别 建造者模式更加注重方法的调用顺序工厂模式注重创建对象创建对象的力度不同建造者模式创建复杂的对象由各种复杂的部件组成而工厂模式创建的对象都一样关注点不一样工厂模式只需要把对象创建出来就可以了而建造者模式不仅要创建出对象还要关注对象由哪些部件组成建造者模式根据建造过程中的顺序不一样可以创建各种不同的对象
http://www.dnsts.com.cn/news/261940.html

相关文章:

  • 单片机和做网站h5网站制作接单
  • 网站备份 ftp怎么做网站投放广告
  • 临安做网站的公司有哪些石家庄logo设计公司
  • 那个网站做h5不要钱wordpress 媒体选项
  • php网站建设安装环境为wordpress开发app
  • 网站一年域名费用多少钱哈尔滨最新情况
  • 如何修改网站模版软件开发班
  • 班级优化大师官方网站律师网站建设模板
  • 郑州做网站的论坛seo整站优化+WordPress
  • 图片网站怎么做优化百度宿迁市建设局网站
  • 交互式网站开发技术包括企业做英文网站
  • 路飞和女帝做h的网站seo专员是什么职业
  • php怎么网站开发六安网站建设优化
  • 注册公司虚拟地址购买知乎推广优化
  • vs平台做网站莒县网站制作
  • 苏州知名网站制作设计中山响应式网站建设
  • 网络舆情监测制度重庆seowhy整站优化
  • 域名先解析后做网站京东官方网上商城
  • 丹阳市网站制作WordPress 蜘蛛检测
  • 做网站所需要的代码6室内设计接单的网站
  • 网站正能量免费软件wordpress 主题开心版
  • 网站建设ASP心得体会怎样做网站平台赚钱
  • 网站商品图片尺寸安徽省建设工程八大员报名网站
  • seo网站建设优化网站制作是怎么学的
  • 做网站的颜色乐陵市
  • 自学做网站界面wordpress做更改老是失败
  • 校园二级网站建设网站开发适配
  • 太原制作微信网站百度小程序代理
  • iis7 网站 目录做家具网站要多少钱
  • 上海网站推广优化公司观点网站