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

济南网站制作公司网站建设百度小程序

济南网站制作公司,网站建设百度小程序,做网站的抬头怎么做,新闻热点事件素材工厂模式注重直接生产一个对象#xff0c;而建造者模式 注重一个复杂对象是如何组成的#xff08;过程#xff09;#xff0c;在生产每个组件时#xff0c;满足单一原则#xff0c;实现了业务拆分。 设计模式#xff0c;一定要敲代码理解 组件抽象 public interface …工厂模式注重直接生产一个对象而建造者模式 注重一个复杂对象是如何组成的过程在生产每个组件时满足单一原则实现了业务拆分。 设计模式一定要敲代码理解 组件抽象 public interface Icomponent {String position(); //材料分类 地板 屋顶 门 窗String type(); //具体材料 如 木窗 水泥屋顶BigDecimal price(); //每平方米的价格}组件实现部分展示 平开窗 /*** author ggbond* date 2024年04月02日 09:37* 平开窗*/ public class CasementWindow implements Icomponent {Overridepublic String position() {return 窗户;}Overridepublic String type() {return 平开窗;}Overridepublic BigDecimal price() {return new BigDecimal(120);}}推拉窗 /*** author ggbond* date 2024年04月02日 09:37* 推拉窗*/ public class SlidingWindow implements Icomponent {Overridepublic String position() {return 窗户;}Overridepublic String type() {return 旋转窗;}Overridepublic BigDecimal price() {return new BigDecimal(80);} }瓦片屋顶 /*** author ggbond* date 2024年04月02日 09:36* 瓦片屋顶*/ public class TileRoof implements Icomponent {Overridepublic String position() {return 屋顶;}Overridepublic String type() {return 瓦片屋顶;}Overridepublic BigDecimal price() {return new BigDecimal(60);} }组件聚合抽象需建造的对象 public interface Ihouse {Ihouse addDoor(Icomponent door);Ihouse addFloor(Icomponent floor);Ihouse addWindow(Icomponent window);Ihouse addRoof(Icomponent roof);String getInfo(); }组件聚合实体 public class House implements Ihouse{private HashMapString,Icomponent map;private String name;private BigDecimal area;private BigDecimal prizeBigDecimal.ZERO;private House(){};public House(float area, String name){mapnew HashMap();this.areanew BigDecimal(area);this.namename;}Overridepublic Ihouse addDoor(Icomponent door) {map.put(door,door);prizeprize.add(door.price());return this;}Overridepublic Ihouse addFloor(Icomponent floor) {map.put(floor, floor);prizeprize.add(area.multiply(floor.price()));return this;}Overridepublic Ihouse addWindow(Icomponent window) {map.put(window, window);prizeprize.add(area.multiply(window.price()));return this;}Overridepublic Ihouse addRoof(Icomponent roof) {map.put(roof, roof);prizeprize.add(area.multiply(roof.price()));return this;}Overridepublic String getInfo(){StringBuilder infonew StringBuilder(房子名称name\r\n装修面积area\r\n装修材料如下\r\nmap.get(door).type()\r\nmap.get(window).type()\r\nmap.get(roof).type()\r\nmap.get(floor).type()\r\n装修费用共计prize 元\r\n---------------------------\r\n);return info.toString();} }建造者 负责封装实体对象 public class Builder {public Ihouse type1(float area,String name){return new House(area,name).addDoor(new WoodDoor()).addFloor(new WoodFloor()).addWindow(new SlidingWindow()).addRoof(new TileRoof());}public Ihouse type2(float area,String name){return new House(area,name).addDoor(new GlassDoor()).addFloor(new MarbleFloor()).addWindow(new CasementWindow()).addRoof(new CementRoof());} }测试 public class Main {public static void main(String[] args) {Builder buildernew Builder();System.out.println(builder.type1(60f,ggbond_house1).getInfo());System.out.println(builder.type2(120f,ggbond_house2).getInfo());} }结果展示 房子名称ggbond_house1 装修面积60 装修材料如下 木制门 旋转窗 瓦片屋顶 木质地板 装修费用共计12460 元 ---------------------------房子名称ggbond_house2 装修面积120 装修材料如下 玻璃门 平开窗 水泥屋顶 大理石地砖 装修费用共计22930 元 ---------------------------总结 建造模式把一个复杂的对象或者流程进行逐个设计使得各个部分职责划分明确。并对内部进行封装结合上述代码使用者可以不知道house消息即可通过builder进行生产不同对象实体。 代码下载 代码下载
http://www.hkea.cn/news/14408470/

相关文章:

  • 做情书直接点网站苏州企业网页制作
  • 网站设计色板浏览器微信登录入口
  • 台州网站建设推广公司重庆最新消息数据
  • node.js可以做网站常州网站建设方案优化
  • 免费行情软件app网站大全下载安装太原推广公司电话
  • 网站建设阿胶膏的作用网站建设运行维护合同
  • mysql网站开发网站的设计理念
  • 太原网站建设报价仿站工具在线
  • wordpress电商建站网站服务器结构图
  • 成都网站建设公司哪家专业网页界面设计中表单的组成部分有哪些提示信息
  • 电脑显示无法运行wordpress优化网站的网站
  • 效果型网站建设好用的wordpress博客模版
  • 郑州网站建设联系方式wordpress汉化主体
  • 网站建设与维护 排序题怎么查公司信息
  • 网页设计与网站建设书籍无需下载直接进入的网站的代码
  • 网站建设淄博佳铉网络学网站开发前景
  • 学习网站开发多少钱wordpress只有英文版
  • 做流量哪个网站好网站盈利模式设计
  • 网站建设捌金手指花总二七河北省建设厅网站重新安装
  • 公司建立网站用于业务建设部网站监理工程师报名
  • 农化网站建设pageadmin模板制作教程
  • 前端开发培训机构时间安排seo服务 收费
  • 泰安做网站建设的公司哪家好苏州网站建设的公司
  • 有哪些做搞笑视频的网站网站的建设与管理自考
  • 网站建设功能评价指标新建网站百度搜不到
  • 深圳市建设银行网站首页借个公司邮箱号
  • 四平市建设局网站第9类商标有网站开发
  • 网站推广策划的思路包括哪些内容怎样做txt电子书下载网站
  • 网站建设学什么语音wordpress 主题js
  • 中国建设银行网站晋阳支行酒仙网技术开发与网站建设方面