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

网站登陆模板大连门户网站开发

网站登陆模板,大连门户网站开发,黄骅市网站建设公司,wordpress 自动pingJAVA设计模式——(十一)建造者模式(Builder Pattern) 介绍理解实现Phone类具体手机类建造者测试 应用 介绍 建造者模式用于将对象的创建和表示进行分离,即对象创建的过程单独提取出来,作为建造者的职能&am…

JAVA设计模式——(十一)建造者模式(Builder Pattern)

  • 介绍
  • 理解
  • 实现
    • Phone类
    • 具体手机类
    • 建造者
    • 测试
  • 应用

介绍

建造者模式用于将对象的创建和表示进行分离,即对象创建的过程单独提取出来,作为建造者的职能,使得同样的构建过程可以创建不同的表示。

理解

这么一读,是不是觉得建造者模式就是一条流水线似的。我们可以对比成一栋房子的建设,房子需要建造每一层,不管什么类型的房子,别墅、平层还是木头房子都是一层一层盖的,所以可以抽取整个建设过程的框架,而细节在由具体的建造者决定。

实现

Phone类

抽象类,用于提取框架。

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/5/5 18:11* @Contact 643947568@qq.com*/
public abstract class Phone {private String cpu;private String network;private String battery;// ...public String getBattery() {return battery;}public void setBattery(String battery) {this.battery = battery;}public String getCpu() {return cpu;}public void setCpu(String cpu) {this.cpu = cpu;}public String getNetwork() {return network;}public void setNetwork(String network) {this.network = network;}@Overridepublic String toString() {return "Phone{" +"battery='" + battery + '\'' +", cpu='" + cpu + '\'' +", network='" + network + '\'' +'}';}
}

具体手机类

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/5/5 18:14* @Contact 643947568@qq.com*/
public class Android extends Phone{private String os;public String getOs() {return os;}public void setOs(String os) {this.os = os;}@Overridepublic String toString() {return "Android{" +"os='" + os + '\'' +"} " + super.toString();}
}
package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/5/5 18:15* @Contact 643947568@qq.com*/
public class Apple extends Phone{private String os;public String getOs() {return os;}public void setOs(String os) {this.os = os;}@Overridepublic String toString() {return "Apple{" +"os='" + os + '\'' +"} " + super.toString();}
}

建造者

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/5/5 18:16* @Contact 643947568@qq.com*/
public interface PhoneBuilder {void buildCpu();void buildOs();void buildNetwork();void buildBattery();Phone getPhone();}

具体建造者:

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/5/5 18:17* @Contact 643947568@qq.com*/
public class AndroidBuilder implements PhoneBuilder {private Android android = new Android();@Overridepublic void buildCpu() {android.setCpu("骁龙8888");}@Overridepublic void buildOs() {android.setOs("安卓100");}@Overridepublic void buildNetwork() {android.setNetwork("双卡双待");}@Overridepublic void buildBattery() {android.setBattery("10000mAh");}@Overridepublic Phone getPhone() {return android;}
}
package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/5/5 18:17* @Contact 643947568@qq.com*/
public class AppleBuilder implements PhoneBuilder {private Apple apple = new Apple();@Overridepublic void buildCpu() {apple.setCpu("苹果处理器");}@Overridepublic void buildOs() {apple.setOs("苹果系统");}@Overridepublic void buildNetwork() {apple.setNetwork("双卡双待");}@Overridepublic void buildBattery() {apple.setBattery("10000mAh");}@Overridepublic Phone getPhone() {return apple;}
}

测试

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/5/5 18:21* @Contact 643947568@qq.com*/
public class Main {public static void main(String[] args) {PhoneBuilder androidBuilder = new AndroidBuilder();androidBuilder.buildBattery();androidBuilder.buildNetwork();androidBuilder.buildCpu();androidBuilder.buildOs();System.out.println(androidBuilder.getPhone());PhoneBuilder appleBuilder = new AppleBuilder();appleBuilder.buildBattery();appleBuilder.buildNetwork();appleBuilder.buildCpu();appleBuilder.buildOs();System.out.println(appleBuilder.getPhone());}
}

应用

可以再关注细节和流程的系统中使用,提取系统框架,封装构建过程等等。

http://www.dtcms.com/a/422007.html

相关文章:

  • 网站正在建设中...杭州市工程建设招标网
  • 怎么查看网站是否被百度收录西安网络技术有限公司
  • 文章网站模板免费ppt下载软件
  • 网站后台权限设计乐清网站推广
  • 快手流量推广免费网站网站关键词排行查询
  • 广州哪个大学做网站制作好些的做网站的 深圳
  • 楼盘网站建设案例品牌运营策略有哪些
  • 定制开发 商城网站 最快seo在线优化平台
  • 怎么做网站流量赚钱安徽动漫公司 网站制作 安徽网新
  • 建个人网站要花多少钱营销型网站建设需要多少钱
  • dhru商城网站建设wordpress 主题 制作
  • 平面设计教程网站员工信息管理系统源码
  • 成都定制网站建设稿定设计app下载
  • 合肥网站建设电话为什么投资公司不能注册了
  • 网站维护需要多久时间网站建设费用报价单
  • 2017网站开发主流工具php网站留言板是怎么做的
  • 制作个人网站要多少钱asp 茶叶网站模板
  • 网站建设中合作加盟的作用wordpress pdf 显示不了
  • 网站建设入驻网站关键字没有排名
  • 网站前置审批表搬瓦工一键WordPress
  • 大连做网站哪家便宜医院网站建设 费用
  • 企业内网网站网站建设地址 北京
  • 镇江牛吧企业网站建设与推广公司网站建设咨询公司地址
  • 邯郸做企业网站设计的公司双鱼儿 网站建设
  • 吉林省软环境建设办公室网站wordpress安装显示英文
  • 重庆企业网站推广流程北京网站建设开发
  • 产品介绍网站模板濮阳网站建设
  • wap网站的未来网站开发哪里有培训
  • 网站建设中左对齐wordpress 云储存插件
  • 乌审旗建设局网站网站首页结构布局