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

绵阳阡陌网站建设想给公司注册一个网站

绵阳阡陌网站建设,想给公司注册一个网站,松原做网站公司,dw做网站设计目录 一、Python访问者模式介绍 二、访问者模式使用 一、Python访问者模式介绍 访问者模式#xff08;Visitor Pattern#xff09;是一种行为型设计模式#xff0c;它能够将算法与对象结构分离#xff0c;使得算法可以独立于对象结构而变化。这个模式的主要思想是#…目录 一、Python访问者模式介绍 二、访问者模式使用 一、Python访问者模式介绍 访问者模式Visitor Pattern是一种行为型设计模式它能够将算法与对象结构分离使得算法可以独立于对象结构而变化。这个模式的主要思想是将对象结构和算法分离开来使得算法可以独立于对象结构而变化。该模式的核心概念是定义一个访问者对象它是对某个对象结构中各个元素的操作这种操作可以改变元素的类或状态。 访问者模式的主要功能是提供一个统一的访问接口使得访问者能够遍历整个对象结构对各个元素进行操作。 优点 1、访问者模式可以将数据结构与算法分离增强了代码的可扩展性和可维护性。 2、访问者模式可以更加灵活地适应不同的对象结构易于扩展。 3、访问者模式可以实现双重分派提高了代码的灵活性和可复用性。 缺点 1、访问者模式增加了代码的复杂度需要定义访问者类和被访问类。 2、访问者模式扩展起来比较困难新增元素需要修改访问者接口并且所有访问者实现类都需要进行修改。 应用场景 1、需要对复杂的对象结构进行遍历并对其中的元素进行不同的操作。 2、需要对对象结构中的不同元素进行不同的操作例如对不同类型的节点进行不同的访问。 访问者模式的使用方式一般包括两个主要步骤 1、定义访问者接口包含对不同类型元素的不同访问方法。 2、定义被访问者接口包含接受访问者访问的方法这个方法会调用访问者对当前对象进行访问。 在应用程序开发中访问者模式可以用于图形编辑器、编译器、XML解析器等需要对复杂的对象结构进行遍历和操作的场景。其工作原理是访问者模式通过定义访问者接口和被访问者接口将遍历和操作分离开来从而提高代码的可维护性和可扩展性。当访问者需要访问被访问者的某个元素时它会调用该元素的accept方法并将自己作为参数传递给该方法从而实现对元素的访问。 二、访问者模式使用 假设有一个程序需要对不同类型的员工进行计算工资员工的类型包括全职员工和兼职员工全职员工有基本工资和奖金兼职员工只有小时工资。这个程序使用访问者模式来实现可以分为以下几个步骤 1、定义访问者接口SalaryVisitor包含对不同类型员工进行访问的方法visit_fulltime和visit_parttime 2、定义被访问者接口Employee包含接受访问者访问的方法accept该方法会根据当前员工的类型调用访问者的对应方法 3、定义具体的访问者类TaxSalaryVisitor和BonusSalaryVisitor分别实现对全职员工和兼职员工的计算方法 4、在程序中使用访问者模式进行计算首先创建不同类型的员工对象然后创建访问者对象最后调用员工对象的accept方法传入访问者对象进行访问 # 访问者模式# 定义访问者接口 class SalaryVisitor():def visit_fullltime(self): # 全职员工passdef visit_parttime(self): # 兼职员工pass# 定义被访问者接口 class Employee():def accept(self, visitor): # 接受访问passclass FulltimeEmployee(Employee):def __init__(self, base_salary, bonus): # 全职员工基本工资、奖金self.base_salary base_salaryself.bonus bonusdef accept(self, visitor):return visitor.visit_fullltime(self)class ParttimeEmployee(Employee):def __init__(self, hourly_wage, total_hours): # 兼职员工时薪小时self.hourly_wage hourly_wageself.total_hours total_hoursdef accept(self, visitor):return visitor.visit_parttime(self)# 定义具体的访问者类 class TaxSalaryVisitor(SalaryVisitor):def visit_fullltime(self, fulltime_employee):tax (fulltime_employee.base_salary fulltime_employee.bonus) * 0.1return taxdef visit_parttime(self, parttime_employee):tax parttime_employee.hourly_wage * parttime_employee.total_hours * 0.1return taxclass BonusSalaryVisitor(SalaryVisitor):def visit_fullltime(self, fulltime_employee):bonus fulltime_employee.bonusreturn bonusdef visit_parttime(self, parttime_employee):return 0# 创建实例 fulltime_employee FulltimeEmployee(10000, 5000) parttime_employee ParttimeEmployee(50, 160)tax_visitor TaxSalaryVisitor() bonus_visitor BonusSalaryVisitor()full_tax fulltime_employee.accept(tax_visitor) full_bonus fulltime_employee.accept(bonus_visitor)part_tax parttime_employee.accept(tax_visitor) part_bonus parttime_employee.accept(bonus_visitor)print(f全职员工税{full_tax}, 奖金{full_bonus}) print(f兼职员工税{part_tax}, 奖金{part_bonus}) 运行结果 全职员工税1500.0,  奖金5000 兼职员工税800.0,  奖金0 这个程序的工作原理是定义了访问者接口和被访问者接口将遍历和操作分离开来从而实现了对不同类型员工的计算。当访问者需要访问被访问者的某个元素时它会调用该元素的accept方法并将自己作为参数传递给该方法从而实现对元素的访问。 使用访问者模式的方法是首先定义访问者接口和被访问者接口然后在被访问者接口中定义accept方法根据被访问者的类型调用访问者的对应方法。在定义具体的访问者类时需要实现对不同类型被访问者的具体操作。最后在程序中创建不同类型的被访问者对象和访问者对象通过调用accept方法进行访问和操作。
http://www.pierceye.com/news/459104/

相关文章:

  • 网络营销网站规划建设实训作业免费云空间
  • 杭州建设网站官网想学做宝宝食谱上什么网站
  • 用自己服务器做网站乡镇信息公开网站建设制度
  • 网站建设平台简介电子商务网站模版
  • 广州做网站怎么样安监网站如何做紧急预案备案
  • 自己做的网站怎样才有网址浏览oa软件多少钱一套
  • 旅游电子商务网站的建设深圳华强北赛格大厦最新消息
  • 视觉设计网站建设有没有做.net面试题的网站
  • 上海资格证报名网站惠州抖音seo
  • 网页设计作品html辽宁做网站和优化哪家好
  • 做门户网站 cms山东济南网站建设优化
  • 网站美工怎么做wordpress论坛化插件
  • 怎样建设自己的视频网站首页电子商务网站开发教程论文6
  • 推荐一个做照片书的网站湛江网站建设招聘
  • 厦门建网站网址ai自动设计logo
  • 蓝色织梦cms企业网站模板全站源码招聘类网站如何做
  • 郑州建设银行网站wordpress数据库怎么设置
  • 电子商务网站实例php网站建设哪家好
  • 网站开发课程报告心得简单的网页设计作品欣赏
  • 网站建设用什么系统华为弹性云做网站
  • 莱芜高端网站建设报价网站色彩策划
  • 房地产项目网站做网站互联网公司有哪些
  • 凡科做网站友情链接怎么做wordpress广告位设置
  • org已经备案的网站wap网站建设服务
  • 企业网站模板免费下载企业网站模板免费完整版的网站模板
  • 外贸网站建设公司价格怎样做触屏版手机网站
  • 南宁站建好就够用秦皇岛微信推广平台
  • 物流公司做网站有用吗河北省住房和城乡建设网站
  • 网站举报官网seo站长论坛
  • 建站工具有哪些论坛网站建设总体要求