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

正规设计兼职网站有哪些顺义网站做的比较好的公司

正规设计兼职网站有哪些,顺义网站做的比较好的公司,网络优化推广 网站开发建设,网站数据泄露我们应该怎么做文章目录 五、工厂方法六、抽象工厂 五、工厂方法 工厂方法#xff0c;使用工厂可以像使用人员屏蔽对象创建的细节#xff0c;使用者无需指定具体的类即可使用功能#xff0c;达到信息隐蔽的作用#xff0c;便于后期的维护#xff0c;修改和扩展。 在看工厂方法前还有一… 文章目录 五、工厂方法六、抽象工厂 五、工厂方法 工厂方法使用工厂可以像使用人员屏蔽对象创建的细节使用者无需指定具体的类即可使用功能达到信息隐蔽的作用便于后期的维护修改和扩展。 在看工厂方法前还有一类是 简单工厂相当于是一个工厂中有各种产品创建在一个类中客户无需知道具体产品的名称只需要知道产品类所对应的参数即可。但是工厂的职责过重而且当类型过多时不利于系统的扩展维护。 比如我们在聚合支付的时候有微信支付和支付宝支付在不同的选择要获取不同的对象如果用简单方法来实现的话 先定义统一的支付抽象类定义支付和取消支付抽象方法 public interface PayInterFace {//支付void pay();//取消支付void cancelPay(); }定义微信支付类 public class WxPay implements PayInterFace {Overridepublic void pay() {System.out.println(微信支付中...);}Overridepublic void cancelPay() {System.out.println(微信取消支付);} }定义支付宝类 public class ZfbPay implements PayInterFace {Overridepublic void pay() {System.out.println(支付宝支付中...);}Overridepublic void cancelPay() {System.out.println(支付宝取消支付);} }创建简单工厂 public class SimplePayFactory {public static PayInterFace getPay(String payType) {if (Objects.equals(payType, wx)) {return new WxPay();} else if (Objects.equals(payType, zfb)) {return new ZfbPay();} else {return null;}} }使用 public class demo {public static void main(String[] args) {PayInterFace pay SimplePayFactory.getPay(wx);pay.pay();pay.cancelPay();PayInterFace pay1 SimplePayFactory.getPay(zfb);pay1.pay();pay1.cancelPay();} } 通过传入不同的标识获取不同的对象且无需指定具体对象让使用者无需关注创建对象的细节增加对象需要在工厂中添加对应的实例化程序当类型过多时不利于系统的扩展维护。 那下面来看下工厂方法的做法 在上面的基础上再建立 支付工厂接口 public interface PayFactory {PayInterFace getPay(); }建立微信支付工厂 public class WxPayFactory implements PayFactory {Overridepublic PayInterFace getPay() {return new WxPay();} }建立支付宝工厂 public class ZfbPayFactory implements PayFactory {Overridepublic PayInterFace getPay() {return new ZfbPay();} }使用 public class demo {public static void main(String[] args) {PayInterFace pay new WxPayFactory().getPay();pay.pay();pay.cancelPay();PayInterFace pay1 new ZfbPayFactory().getPay();pay1.pay();pay1.cancelPay();} }这种方式同样屏蔽了对象建立的细节且无需指定具体对象但相对于上面的简单工厂更易于做扩展比如要引入新的支付只需要创建新的工厂并实现PayFactory 即可更利于系统的扩展。 六、抽象工厂 上面学习了简单工厂和工厂方法下面来看下抽象工厂。 抽象工厂模式Abstract Factory Pattern是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。 在抽象工厂模式中接口是负责创建一个相关对象的工厂不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。 在上面的场景中加入支付后需要扣除库存就需要引入库存工厂并调用扣除库存的方法库存工厂和支付工厂貌似不相干但在抽象工厂中抽象工厂相当于一个公司库存和支付相当与部门相对于公司来看支付和库存都是公司下的部门是一个整体。所以抽象工厂就是定义一个产品组可以完成一系列的过程而不是单一的活动。 下面使用抽象工厂定义支付后扣除库存的设计 定义库存操作接口 public interface RepertoryInterFace {void deductRepertory(); }以苹果为例定义具体库存为苹果的库存 public class AppleRepertory implements RepertoryInterFace {Overridepublic void deductRepertory() {System.out.println(苹果库存 扣除库存...);} }定义抽象工厂定义支付和扣库存抽象方法 public interface BuyAbstractFactory {//支付PayInterFace pay();//扣库存RepertoryInterFace deductRepertory(); }定义抽象工厂实现这里演示效果直接采用微信支付对象 public class BuyAbstractFactoryImpl implements BuyAbstractFactory {Overridepublic PayInterFace pay() {return new WxPay();}Overridepublic RepertoryInterFace deductRepertory() {return new AppleRepertory();} }使用 public class demo {public static void main(String[] args) {BuyAbstractFactory factory new BuyAbstractFactoryImpl();factory.pay().pay();factory.deductRepertory().deductRepertory();} }使用抽象工厂方式颗粒化程度大让使用者无需知道整个工作组的对象即可完成一连串的操作对可扩展性可修改修都很友好。
http://www.pierceye.com/news/736427/

相关文章:

  • 佛山网站seo推广推荐一个专门做海鲜的网站
  • 长春网站建设与健网站外链如何做
  • 网站开发国内现状网站建设与维护教学计划
  • 如何解决网站图片打开慢网站如何做跳转
  • 网站开发作用大学生网络营销策划书
  • 有域名了如何建网站用自己的身份做网站备案
  • 免费的黄冈网站有哪些平台游戏软件上海网站建设自学
  • 网站建设摊销几年wordpress怎样建立二级菜单
  • 营销方案案例北京搜索引擎优化seo专员
  • 网站建设是什么科目wordpress 火车头
  • 做网站需要什么专业方向的员工wordpress yeti
  • 网站建设项目登记表长沙建网站培训机构
  • 拖拽建站平台福州小学网站建设
  • 网站定制套餐建设企业网站需要注意的问题
  • 织梦贷款网站源码网页开发工具
  • 乐清官方网站建筑公司企业号
  • 代做网站的公司有哪些网红营销活动
  • 自己想开个网站怎么弄搜索热词排行榜
  • 智博常州网站建设wordpress缩略图只生成full
  • 化妆品网站模版免费下载网站空间的后台控制面板
  • 做外贸网站公司注册一个免费的网站吗
  • 网站开通申请wordpress图片分享
  • 提高网站性能网站建设中源代码
  • 海珠营销型网站建设公司山东城建建设职业学院教务网站
  • 怎样用虚拟主机建网站温州购物网络商城网站设计制作
  • 站外seo推广游戏模板 wordpress
  • 做翻译网站 知乎怎么制作网站主题
  • 照片书那个网站做的好重庆网站建设价格费用
  • 网站两侧广告石家庄建设
  • 网站设计的企业网站建设教程txt