Java设计模式(建造者模式)
来源:互联网 发布:软件学校 编辑:程序博客网 时间:2024/06/04 18:43
由于移动端UI交互逻辑和设计上跟老板不同,最后怼起来了!所以现在心情很不好,那谁?!你就是公司老板是吧?”达康书记找你“。
现在咱就一起来了解一下Java设计模式的”建造者模式“;老规矩:什么是建造者模式?它有什么好处值得我们去使用??
建造者模式是什麽?建造者模式是一种创建型设计模式,又名生成器模式。简单解释就是,将建造复杂对象的过程和组织对象部件的过程解耦。
建造者模式优点有多少??(开闭原则:对扩展开放,对修改关闭)1,产品本身与产品的创建过程解耦,使得相同的创建过程可以创建不同的产品对象。2,系统扩展方便,符合“开闭原则”。每一个具体建造者都相对独立,而与其他的具体建造者无关,因此可以很方便地替换具体建造者或增加新的具体建造者,用户使用不同的具体建造者即可得到不同的产品对象。3,可以更加精细地控制产品的创建过程。将复杂产品的创建步骤分解在不同的方法中,使得创建过程更加清晰,也更方便使用程序来控制创建过程。
我们通过一件事情来解释一哈!假如,这时候公司需要做一款类似JD的购物软件。这个软件呢,它必须具备几个功能(1,有后台提供数据源展现再屏幕上;2,用户可以进行浏览商品;3,用户喜欢了那一款商品可以进行收藏;4,用户可以进行支付购买);只有写出具备了这样一些功能的应用,那才算完,老板才不会狠狠的吊你!
//购物软件特征(假如:满足以下条件才能形成一个购物软件)public class JDEntity { String functionBrower;//浏览 String functionCollect;//收藏 String functionPayMoney;//支付 String functionDataOffer;//后台提供数据源 public String getFunctionBrower() { return functionBrower; } public void setFunctionBrower(String functionBrower) { this.functionBrower = functionBrower; } public String getFunctionCollect() { return functionCollect; } public void setFunctionCollect(String functionCollect) { this.functionCollect = functionCollect; } public String getFunctionPayMoney() { return functionPayMoney; } public void setFunctionPayMoney(String functionPayMoney) { this.functionPayMoney = functionPayMoney; } public String getFunctionDataOffer() { return functionDataOffer; } public void setFunctionDataOffer(String functionDataOffer) { this.functionDataOffer = functionDataOffer; }}
//购物项目建造者接口public interface IProjectBuilder { /** * 组成当前应用所需要的行为 */ //UI体验、功能交互 void browser();//浏览 void collection();//收藏 void payMoney();//购买支付 void backendData();//后台数据接口提供数据 //获得 (行为组装)应用对象 JDEntity getProjectInstance();}
public class JDBuilder implements IProjectBuilder { private JDEntity jdEntity; public JDBuilder(JDEntity jdEntity){ this.jdEntity = jdEntity; } @Override public void browser() { System.out.println("实现功能:浏览商品~"); jdEntity.setFunctionBrower("实现功能:浏览商品~"); } @Override public void collection() { System.out.println("实现功能:收藏商品~"); jdEntity.setFunctionCollect("实现功能:收藏商品~"); } @Override public void payMoney() { System.out.println("实现功能:支付商品~"); jdEntity.setFunctionPayMoney("实现功能:支付商品~"); } @Override public void backendData() { System.out.println("实现功能:后台提供商品数据源~"); jdEntity.setFunctionDataOffer("实现功能:后台提供商品数据源~"); } @Override public JDEntity getProjectInstance() { return jdEntity; }}
//组织JD对象部件,才能形成一个真是可用的apppublic class JDDirector { private IProjectBuilder jdBuilder; public JDDirector(IProjectBuilder jdBuilder){ jdBuilder.backendData(); jdBuilder.browser(); jdBuilder.collection(); jdBuilder.payMoney(); }}
public class JDMain { public static void main(String[] args){ JDEntity jdEntity = new JDEntity(); JDBuilder jdBuilder = new JDBuilder(jdEntity); JDDirector jdDirector = new JDDirector(jdBuilder); //最终获取到 JD 应用包含操作功能的app jdEntity = jdBuilder.getProjectInstance(); }}
0 0
- 设计模式(JAVA)-------建造者模式
- Java设计模式(建造者模式)
- java 设计模式之建造者模式(Builder)模式
- JAVA设计模式---建造者模式(生成器模式)
- JAVA设计模式:建造者(Builder)
- JAVA-建造者设计模式
- Java设计模式-----Builder建造者模式
- Java设计模式-----Builder建造者模式
- JAVA设计模式--建造者模式
- java设计模式之建造者模式
- java设计模式之建造者模式
- java设计模式之建造者模式
- 【Java设计模式】之建造者模式
- java设计模式之建造者模式
- JAVA设计模式-建造者模式-Builder
- JAVA系列-设计模式-建造者模式
- Java--设计模式之建造者模式
- JAVA设计模式-建造者模式(Builder)
- iOS-多线程-NSOperation
- 通过SSID,密码,和连接类型来连接WiFi,并保存配置
- C/C++ 混合编译之extern C的使用
- 冒泡排序应用——数组排序
- Oracle创建用户并给用户授权查询指定表或视图的权限
- Java设计模式(建造者模式)
- hive基础知识
- 出现 java.net.ConnectException: Connection refused 异常的原因及解决方法
- 第一周---最短路(Dijkstra、SPFA)
- navisworks 设置相机的位置
- 题目1108:堆栈的使用
- 对H.264帧类型判断方法
- OC中关于NSFileManager判断是否存在某一个文件
- 嵌入式软件工程师的必备知识