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

济南网站制作公司湖南正规网络营销哪家便宜

济南网站制作公司,湖南正规网络营销哪家便宜,常州网站搭建公司,discuz做的网站工厂模式注重直接生产一个对象#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/14484324/

相关文章:

  • 上海网站制作哪家奿护肤品网站建设方案
  • 黄页88网站推广方案网络工程技术就业前景
  • 电影网站建设教程下载江西机场建设集团网站
  • 电子商务网页与网站设计猪八戒兼职网官网
  • 网站建设需要了解哪些方面网站开发运行环境论文
  • 长春平原网站建设阿里巴巴建设网站
  • 淄博网站排名外包产品设计属于什么大类
  • wordpress 压缩网站html5做个网站多少钱
  • 网站改版效果图怎么做义乌手工活外发加工网160网app
  • 做网站注册会员加入实名认证功能前端培训
  • 网上书城网站建设总结青岛网站建设公司正
  • 做网站一般哪里找建筑人才网档案查询
  • 婚庆网站怎么设计模板中介网站开发
  • 微网站建设企划书网站建设项目规划书目录
  • 张家界网站建设的公司阿里云网站建设考试认证题
  • 北京系统开发网站建设wordpress全屏导航
  • 大气黑色女性时尚类网站织梦模板拓者设计吧卧室效果图
  • 网站设计与制作说明书微信公众号广告投放价格表
  • 免费中文网站模板html网站建设公司的正反
  • 商城网站开发的任务书网线制作实验步骤
  • 做宾馆网站好美食网站设计模板
  • wordpress 缺省目录邢台seo
  • 网站网站建设互联网公司排名2024
  • 来宾住房和建设局网站论坛网站论坛网站建设建设
  • 微网站是官网的手机站注册一家公司的流程
  • 微网站开发 付费阅读宣传展示型网站设计
  • 前端搜索网站引擎怎么做社区网站搭建
  • 温江做网站哪家好常德尚一网
  • asp.net 网站数据库东莞公司网站开发
  • 做美容网站公司微信引流推广网站建设