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

卖房子上哪个网站最好卖wordpress页面镶嵌php

卖房子上哪个网站最好卖,wordpress页面镶嵌php,wordpress获得留言,备案的时候网站名称在上文(设计模式学习-简单工厂模式)的模拟场景中#xff0c;我们用简单工厂模式实现了VISA和MASTERARD卡的刷卡处理#xff0c;系统成功上线并运行良好#xff0c;突然有一天老大跑来说#xff0c;我们的系统需要升级#xff0c;提供对一般银联卡的支持。怎么办#xff1…   在上文(设计模式学习-简单工厂模式)的模拟场景中我们用简单工厂模式实现了VISA和MASTERARD卡的刷卡处理系统成功上线并运行良好突然有一天老大跑来说我们的系统需要升级提供对一般银联卡的支持。怎么办有需求总是要改的苦B的程序员伤不起啊....   怎么改增加一个银联卡处理类然后在工厂类的静态方法里增加Case处理前几天刚读了面向对象的核心设计原则-“开放封闭原则”这样改下去不是完全违背了这个设计原则     开放封闭原则OCPOpen Closed Principle是所有面向对象原则的核心。软件设计本身所追求的目标就是封装变化、降低耦合而开放封闭原则正是对这一目标的最直接体现。其他的设计原则很多时候是为实现这一目标服务的例如以Liskov替换原则实现最佳的、正确的继承层次就能保证不会违反开放封闭原则。开放封闭原则其核心的思想是软件实体应该是可扩展而不可修改的。也就是说对扩展是开放的而对修改是封闭的。 于是我决定重构之前的简单工厂模式实现的方法首先我们找出变化点增加银联卡处理类是不可避免这属于扩展对工厂类增加CASE条件的处理这里属于修改原业务属于修改OCP告诉我们对修改应该是关闭的。   OK顺利找到变化点由于我们不知道将来需要实例化出什么对象所以将产品工厂抽象出来让对象的实例化在子类实现 View Code abstract class HandleFactory    {        public abstract BankCardHandle CreateBankCardHandle();   接着我们实现生成VISA及MASTERARD刷卡对象的实际工厂 View Code  class VisaHandleFactory : HandleFactory      {         public override BankCardHandle CreateBankCardHandle()         {             return new VisaHandle();         }     }     class MasterCardHandleFactory : HandleFactory     {         public override BankCardHandle CreateBankCardHandle()         {             return new MasterCardHandle();         } BankCardHandle、VisaHandle、MasterCardHandle类见上一篇(设计模式学习-简单工厂模式)。   不知不觉我们用工厂方法模式重构了我们的系统下面我们看看工厂方法模式的介绍。模式概述 工厂方法模式又称工厂模式属于类的创建型模式。在工厂方法模式中父类负责定义创建对象的公共接口而子类则负责生成具体的对象这样做的目的是将类的实例化操作延迟到子类中完成即由子类决定究竟应该实例化哪一个类。 UML类图 其中的类或对象之间的关系为 产品角色(Product) 定义产品的相关接口。真实的的产品角色(ConcreteProduct) 实现接口Product。工厂角色(Factory) 声明工厂方法(FactoryMethod)返回一个产品(Product)。真实的工厂(ConcreteFactory) 实现FactoryMethod工厂方法由客户调用返回一个Product实例。  经过上面我们用工厂方法模式重构刷卡系统后老大提出的增加一个银联卡的处理就比较好办了先增加一个银联卡处理类同时增加一个生产银联卡处理类的工厂类 View Code  class UnionPayCardHandle : BankCardHandle     {         public override void HandleProcess()         {             Console.WriteLine(银联卡处理中);         }     }     class UnionPayCardHandleFactory : HandleFactory     {         public override BankCardHandle CreateBankCardHandle()         {             return new UnionPayCardHandle();         } 客户端调用代码如下 View Code  HandleFactory hd  new UnionPayCardHandleFactory();             BankCardHandle bk  hd.CreateBankCardHandle(); 我们以后增加卡处理方式只需要增加相应的卡处理类和生成卡处理类的工厂然后修改一下客户端代码就好了如果连客户端代码都不想修改在客户端获取配置文件用反射处理就OK了。 转载于:https://www.cnblogs.com/kdalan/archive/2012/06/01/2531395.html
http://www.zqtcl.cn/news/24859/

相关文章:

  • 登录不了建设银行网站传奇网页游戏排行榜
  • 外贸站外推广凡科网的网站建设好用吗
  • 手机网站会员中心模板下载公司做的网站账务处理
  • 各大网站推广软件安徽省网站建设公司
  • 自己建网站做那个模块好做网站开发用哪门语言
  • 济南建设个人网站平台寻找做电影网站团队合作
  • 怎么做一个公司网站宜宾网站建设88sou
  • 网站后台管理系统制作软件深圳发型网站建设
  • 网站二级页怎么做网页微博视频不能播放
  • 网站建设销售一个月开几个单wordpress回复显示插件
  • 如何自己网站接装修生意做网页设计实训报告总结3000字
  • wordpress 支付宝插件下载企业如何做好网站的seo优化
  • 视频直播网站开发运营步骤个人网站能备案吗
  • 深圳网站建设_请到中投网络!成全视频免费观看在线看主演
  • 临沂建设局网站质量三监督郑州经济技术开发区招教
  • 专门找建筑案例的网站百度产品推广怎么收费
  • 韩城做网站商标查询小程序
  • 关键词搜索网站互联网关键词优化
  • 哪个网站上做ppt比较好看永久域名网站
  • php如何做网站如何做购物网站
  • 网站开发查找漏洞的工具wordpress 运行天数 小工具
  • 站长之家是干什么的怎么自己做代刷网站
  • 农药放行单在哪个网站做WordPress多功能新闻积分商城主题
  • android应用市场下载安装衡水网站优化
  • 如何建设属于自己的网站电脑 手机网站二合一源码
  • 网站栏目设计内容网站建设一般步骤
  • 制作网站设计的技术有2023年中国进入一级战备状态了吗
  • 如何做一网站做网站简单需要什么
  • 廊坊做网站价格网站编辑工作
  • 新开传奇网站刚开一秒第一区广告投放网