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

艾乐时代 网站建设餐饮网站建设背景

艾乐时代 网站建设,餐饮网站建设背景,wordpress小说站,亚马逊网站建设性提议1.抽象工厂模式定义: 抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口#xff0c;无需指定它们具体的类 2.抽象工厂模式适用场景: 客户端(应用层)不依赖于产品类实例如何被创建、实现等细节强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量…1.抽象工厂模式定义: 抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口无需指定它们具体的类 2.抽象工厂模式适用场景: 客户端(应用层)不依赖于产品类实例如何被创建、实现等细节强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码提供一个产品类的库所有的产品以同样的接口出现从而使得客户端不依赖于具体的实现 3.抽象工厂模式的优缺点 优点: 具体产品在应用层的代码隔离无需关心创建的细节将一个系列的产品统一到一起创建缺点: 规定了所有可能被创建的产品集合产品簇中扩展新的产品困难增加了系统的抽象性和理解难度创建一个手机接口 cn.xs.abstraction.IPhoneProduct 代码如下public interface IPhoneProduct { /** * 开机 */ void open(); /** * 关机 */ void close(); /** * 发短信 */ void send(); /** * 打电话 */ void call(); } 创建一个路由器接口 cn.xs.abstraction.IRouterProduct 代码如下 public interface IRouterProduct { /** * 开机 */ void open(); /** * 关机 */ void close(); /** * 设置参数 */ void setting(); /** * 打开 wifi */ void wifi(); } 新建小米手机产品类 cn.xs.abstraction.XiaomiPhone 代码如下 public class XiaomiPhone implements IPhoneProduct { public void open() { System.out.println(小米手机开机); } public void close() { System.out.println(小米手机关机); } public void send() { System.out.println(小米手机发短信); } public void call() { System.out.println(小米手机打电话); } } 新建小米路由器产品类 cn.xs.abstraction.XiaomiRouter 代码如下public class XiaomiRouter implements IRouterProduct { public void open() { System.out.println(小米路由器开机); } public void close() { System.out.println(小米路由器关机); } public void setting() { System.out.println(小米路由器设置参数); } public void wifi() { System.out.println(小米路由器打开wifi); } } 新建华为手机产品类 cn.xs.abstraction.HuaweiPhone 代码如下 public class HuaweiPhone implements IPhoneProduct { public void open() { System.out.println(华为手机开机); } public void close() { System.out.println(华为手机关机); } public void send() { System.out.println(华为手机发短信); } public void call() { System.out.println(华为手机打电话); } } 新建华为路由器产品类 cn.xs.abstraction.HuaweiRouter  代码如下 public class HuaweiRouter implements IRouterProduct { public void open() { System.out.println(华为路由器开机); } public void close() { System.out.println(华为路由器关机); } public void setting() { System.out.println(华为路由器设置参数); } public void wifi() { System.out.println(华为路由器打开wifi); } } 新建抽象工厂 cn.xs.abstraction.IProductFactory 来生产手机跟路由器抽象public interface IProductFactory { /** * 生产手机 * * return */ IPhoneProduct getPhone(); /** * 生产路由器 * * return */ IRouterProduct getRouter(); } 新建小米工厂 cn.xs.abstraction.XiaomiFactory 来生产手机跟路由器 public class XiaomiFactory implements IProductFactory { public IPhoneProduct getPhone() { return new XiaomiPhone(); } public IRouterProduct getRouter() { return new XiaomiRouter(); } } 新建华为工厂 cn.xs.abstraction.HuaweiFactory 来生产手机跟路由器 public class HuaweiFactory implements IProductFactory { public IPhoneProduct getPhone() { return new HuaweiPhone(); } public IRouterProduct getRouter() { return new HuaweiRouter(); } } 根据类图关系深入了解 新建测试类 cn.xs.abstraction.Client 来进行测试 public class Client { /** * 测试方法 * * param args */ public static void main(String[] args) { System.out.println(小米系列产品); // 创建小米工厂 IProductFactory factory1 new XiaomiFactory(); IPhoneProduct phone1 factory1.getPhone(); phone1.send(); phone1.call(); IRouterProduct router1 factory1.getRouter(); router1.setting(); router1.wifi(); System.out.println(华为系列产品); // 创建华为工厂 IProductFactory factory2 new HuaweiFactory(); IPhoneProduct phone2 factory2.getPhone(); phone2.send(); phone2.call(); IRouterProduct router2 factory2.getRouter(); router2.setting(); router2.wifi(); } } 再看一下整体的一个类图 运行 main   抽象工厂模式在产品稳定的情况下是极其强大的但是如果要添加产品其子类都需要修改代码违反了开闭原则小结 简单工厂模式(静态工厂模式)虽然某种程度上不符合设计原则但实际使用最多!工厂方法模式不修改已有类的前提下通过增加新的工厂类实现扩展抽象工厂模式不可以增加产品可以增加产品族!应用场景: JDK中Calendar的getInstance方法 JDBC中的Connection对象的获取 Spring中IOC容器创建管理bean对象反射中Class对象的newInstance方法
http://www.hkea.cn/news/14541050/

相关文章:

  • 网站建设 成都今网科技中公教育it培训机构
  • 哪里可以免费建设网站android程序开发教程
  • 影响网站显示度的原因竞价网站做招商加盟可以不备案吗
  • 海淀周边网站建设在线自动取名网站怎么做
  • 哪些属于功能型网站帮人恶意点击网站
  • 北安网站建设设计在线观看2014
  • 网站建设通知游戏软件制作开发
  • 网站增加关键字Wordpress 精确时间分钟
  • 汽车门户网站程序湖南常德广宇建设网站
  • 网站多久才能做起来海南黄页电话号码
  • 网易云网站开发google下载官网
  • 做网站需要了解什么软件大学生创新创业点子
  • 宠物社区网站开发设计文档贵安新区网站建设推广
  • 做网站规避什么即墨网站建设电话
  • 安徽建设局网站个人网站该怎么打广告
  • 北京网站建设116net南宁网站建设公司哪个好
  • 网站开发技术实验总结网站封面怎么做
  • 坪地网站建设价格网站底部悬浮
  • 做网站精英制作wordpress页面模板下载地址
  • 德州做网站多少钱简单的网页设计代码记事本
  • 棋牌网站建设购物网站代码模板
  • 做网站的意义是什么wordpress最新文章
  • 长治网站制作小程序景观设计师如何做网站
  • 六安网站建设招商wordpress缓存头像
  • 佛山商城网站制作域名备案查询网站备案
  • php网站开发实例教材深圳企业建设网站
  • 长兴网站建设页面简单的网站
  • 网站静态化 好处快速seo关键词优化方案
  • 域名备案要先做网站的吗港海建设网站
  • wordpress 购物网站比较顺口的建筑公司名字