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

jquery在网站开发实例运用建设工程公司取名字大全

jquery在网站开发实例运用,建设工程公司取名字大全,友情链接怎么设置,简单html个人网页模板源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明#xff1a; 访问者模式的基本想法是#xff0c;软件系统中拥有一个由许多对象构成的、比较稳定的对象结构#xff0c;这些对象的类都拥有一个 accept 方法用来接受访问者对象的访问。访问者是一个接口 访问者模式的基本想法是软件系统中拥有一个由许多对象构成的、比较稳定的对象结构这些对象的类都拥有一个 accept 方法用来接受访问者对象的访问。访问者是一个接口它拥有一个 visit 方法这个方法对访问到的对象结构中不同类型的元素做出不同的处理。在对象结构的一次访问过程中我们遍历整个对象结构对每一个元素都实施 accept 方法在每一个元素的 accept 方法中会调用访问者的 visit 方法从而使访问者得以处理对象结构的每一个元素我们可以针对对象结构设计不同的访问者类来完成不同的操作达到区别对待的效果。 访问者模式定义封装一些作用于某种数据结构中的各元素的操作它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。   结构 抽象访问者具体访问者抽象元素具体元素对象结构。 实例 假设一个药房有一些大夫一个药品划价员和一个药房管理员它们通过一个药房管理系统组织工作流程。大夫开出药方后药品划价员确定药品是否正常价格是否正确通过后药房管理员进行开药处理。该系统可以如何实现最简单的想法是分别用一个一个if…else…把划价员处理流程和药房管理流程实现这样做的问题在于扩展性不强而且单一性不强一旦有新药的加入或者划价流程、开药流程有些变动会牵扯比较多的改动。 #构造药品类和工作人员类 class Medicine:nameprice0.0def __init__(self,name,price):self.namenameself.pricepricedef getName(self):return self.namedef setName(self,name):self.namenamedef getPrice(self):return self.pricedef setPrice(self,price):self.pricepricedef accept(self,visitor):pass #药品类中有两个子类抗生素和感冒药 class Antibiotic(Medicine):def accept(self,visitor):visitor.visit(self) class Coldrex(Medicine):def accept(self,visitor):visitor.visit(self)#工作人员分为划价员和药房管理员 class Visitor:namedef setName(self,name):self.namenamedef visit(self,medicine):pass class Charger(Visitor):def visit(self,medicine):print(CHARGE: %s lists the Medicine %s. Price:%s % (self.name,medicine.getName(),medicine.getPrice())) class Pharmacy(Visitor):def visit(self,medicine):print(PHARMACY:%s offers the Medicine %s. Price:%s % (self.name,medicine.getName(),medicine.getPrice())) 在药品类中有一个accept方法其参数是个visitor 而工作人员就是从Visitor类中继承而来的 也就是说他们就是Visitor都包含一个visit方法其参数又恰是medicine。 药品作为处理元素依次允许AcceptVisitor对其进行操作 这就好比是一条流水线上的一个个工人对产品进行一次次的加工。 整个业务流程还差一步即药方类的构建流水线大机器 class ObjectStructure:pass class Prescription(ObjectStructure):medicines[]def addMedicine(self,medicine):self.medicines.append(medicine)def rmvMedicine(self,medicine):self.medicines.append(medicine)def visit(self,visitor):for medc in self.medicines:medc.accept(visitor) #药方类将待处理药品进行整理并组织Visitor依次处理。if __name____main__:yinqiao_pillColdrex(Yinqiao Pill,2.0)penicillinAntibiotic(Penicillin,3.0)doctor_prsrpPrescription()doctor_prsrp.addMedicine(yinqiao_pill)doctor_prsrp.addMedicine(penicillin)chargerCharger()charger.setName(Doctor Strange)pharmacyPharmacy()pharmacy.setName(Doctor Wei)doctor_prsrp.visit(charger)doctor_prsrp.visit(pharmacy) 打印结果 CHARGE: Doctor Strange lists the Medicine Yinqiao Pill. Price:2.0 CHARGE: Doctor Strange lists the Medicine Penicillin. Price:3.0 PHARMACY:Doctor Wei offers the Medicine Yinqiao Pill. Price:2.0PHARMACY:Doctor Wei offers the Medicine Penicillin. Price:3.0 优点 符合单一指责凡是适用访问者模式的场景中元素类中需要封装在访问者中的操作必定是与元素类本身关系不大且是易变的操作使用访问者模式一方面符合单一职责原则另一方面因为被封装的操作通常来说都是易变的所以当发生变化时就可以在不改变元素类本身的前提下实现对变化部分的扩展。扩展性良好元素类可以通过接受不同的访问者来实现对不同操作的扩展。 缺点 增加新的元素类很困难。在访问者模式中每增加一个新的元素类都意味着要在抽象访问者角色中增加一个新的抽象操作并在每一个具体访问者类中增加相应的具体操作违背了“开闭原则”的要求。破坏封装。当采用访问者模式的时候就会打破组合类的封装。 使用场景 对象结构中对象对应的类很少改变但经常需要在此对象结构上定义新的操作。需要对一个对象结构中的对象进行很多不同的并且不相关的操作而需要避免让这些操作“污染”这些对象的类也不希望在增加新操作时修改这些类。  转载于:https://www.cnblogs.com/welan/p/9130622.html
http://www.sadfv.cn/news/162414/

相关文章:

  • 福州小学网站建设wordpress php那个版本号
  • 有没有什么专业做美业的网站投资网站模板
  • 万江做网站的公司求职seo
  • 制作网页网站小说教程wordpress非首页显示文章列表
  • wap网站建设服务新密做网站
  • TOP域名是什么网站wifi客户管理系统管理
  • 哈尔滨最专业的网站建设百度收录提交入口地址
  • 中国建设部官方网站鲁班奖微信h5页面制作教程
  • 不花钱网站怎么做wordpress管理界面更名
  • 已注册域名怎么做网站呢中国建筑装饰工程有限公司
  • 黄金网站软件免费徐州建设工程交易网中标公示
  • 平台兼职网站开发暴雪游戏排行榜前十名
  • 二手车网站html模板无锡网站制作专业服务公司
  • 别人做的网站怎么seo优化wordpress是哪个国家的
  • 建设银行新加坡招聘网站政务公开和网站建设工作的建议
  • 阿里云服务器怎么做网站游戏源码平台
  • wordpress建立移动m站摄影作品欣赏网站
  • 北京手机网站制作哪家好企业网络推广的方法
  • 互联网公司 哪个部门负责网站建设微信朋友圈网页怎么制作
  • 二手车网站源码下载怎么修改wordpress 后台登陆密码
  • 网站建设iis配置苏州绿叶网站建设
  • 做设计什么兼职网站建设营销网站设计
  • 做视频网站需要流媒体吗网站做跳转的要求
  • 怎么查看网站是哪个公司建的国外游戏商城网站欣赏
  • 旅游网站建设方案后台公众号图片到wordpress
  • 在网上做软件挣钱的网站新媒体营销的发展趋势
  • 做网站云服务器2m宽带够用吗做网站页面用什么
  • 渗透网站后台数据截图完整网站开发需要多久
  • 网站开发技术三大件注销建设工程规划许可证在哪个网站
  • 丹徒网站建设包括哪些网站404页面怎么做