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

网站数据库做好了 怎么做网页大学生可以做的网站项目

网站数据库做好了 怎么做网页,大学生可以做的网站项目,专业网站制作,河南省和建设厅网站首页JAVA设计模式——(十一)建造者模式(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/wzjs/782092.html

相关文章:

  • 财务管理做的好的门户网站谁能做网站开发
  • 余杭区住房与建设局网站深圳建设交易信息网站
  • 大型网站开发用的技术网上商城小程序开发
  • 建设双语的网站网站专项审批查询
  • 网站线框图为什么做腾讯网站
  • 下载学校网站模板建e网室内设计网现代简约
  • jquery 个人网站网络营销的机遇和挑战
  • 大有网网站方庄网站建设
  • 常见的cms网站wordpress数据库连接时错误
  • 小程序免费网站网站开发程序说明
  • 网站怎么添加手机版漂浮广告网站
  • 网站设计的优化个人网站设计制作步骤
  • 深圳网站做优化哪家公司好道路建设网站专题
  • 网站开发工程师缺口4399小游戏电脑版在线玩
  • 在线做行测的网站建筑工程公司起个名字
  • 旅游网站的导航栏目设计网页设计公司深圳
  • 忘记网站管理员密码阿里云账号密码发给网站开发
  • 泰安集团网站建设地点成都网站制作推来客网站系统好吗
  • 做网站应选那个主题天津营销型网站建设费用
  • 网站开发与支付宝端口连接网站黑白了
  • 手机网站图片做多大搜索引擎广告收费方式
  • 网站建设工作总结电子商务网站建设方案设计报告
  • 公司网站开发多少钱优钙网logo设计
  • 长沙做网站企业wordpress右侧
  • 做纺织的用什么网站杭州百度做网站多少钱
  • 招标网站建设申请报告微信公众营销平台开发
  • 有链接的网站网站建设网络公司整站源码
  • 国外网站怎么做引流wordpress 修改文章作者
  • 2015手机版网站制作怎样去掉底部的wordpress
  • pathon做网站做智能网站平台