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

福州网站制作公司营销WordPress文章如何折叠插件

福州网站制作公司营销,WordPress文章如何折叠插件,婚纱照展示网站源码,黄江做网站文章目录 示例AOP 很多时候我们不希望一个类变得非常庞大#xff0c;生来就包含很多职责。装饰器模式可以动态地给某个对象添加职责#xff0c;而不会影响从这个类中派生的其他对象 为什么不用继承解决这个问题呢#xff1f;如果用继承有可能会创造出数量庞大的子类#x… 文章目录 示例AOP 很多时候我们不希望一个类变得非常庞大生来就包含很多职责。装饰器模式可以动态地给某个对象添加职责而不会影响从这个类中派生的其他对象 为什么不用继承解决这个问题呢如果用继承有可能会创造出数量庞大的子类而如果把子类的属性变成装饰器就可以灵活自由地组合了就像天冷了要穿一件衣服等等 示例 从结构上看Attack 方法进入了一个包装链先执行火焰技能再执行了闪电技能 // 定义游戏角色接口 interface ICharacter {void Attack(); }// 实现游戏角色类 class Character : ICharacter {public void Attack(){Console.WriteLine(角色进行普通攻击);} }// 装饰器基类 abstract class CharacterDecorator : ICharacter {protected ICharacter character;public CharacterDecorator(ICharacter character){this.character character;}public virtual void Attack(){character.Attack();} }// 具体装饰器类添加火焰技能 class FireDecorator : CharacterDecorator {public FireDecorator(ICharacter character) : base(character){}public override void Attack(){base.Attack();Console.WriteLine(释放火焰技能);} }// 具体装饰器类添加闪电技能 class LightningDecorator : CharacterDecorator {public LightningDecorator(ICharacter character) : base(character){}public override void Attack(){base.Attack();Console.WriteLine(释放闪电技能);} }class Program {static void Main(string[] args){// 创建基本角色ICharacter character new Character();// 添加火焰技能character new FireDecorator(character);// 添加闪电技能character new LightningDecorator(character);// 角色进行攻击character.Attack();// 输出结果// 角色进行普通攻击// 释放火焰技能// 释放闪电技能} }AOP 在这里我们使用了 C# 的 PostSharp 包创建了方法切面监听 当 Attack 执行时会引发 OnEntry 和 OnExit 生命周期 在分离业务代码和数据统计代码中 AOP 十分有效 using PostSharp.Aspects; using System;// 日志记录切面 [Serializable] public class LogAspect : OnMethodBoundaryAspect {public override void OnEntry(MethodExecutionArgs args){Console.WriteLine($[Log] Entering {args.Method.Name});}public override void OnExit(MethodExecutionArgs args){Console.WriteLine($[Log] Exiting {args.Method.Name});} }// 游戏角色类 public class Character {[LogAspect] // 应用日志记录切面public void Attack(){Console.WriteLine(Character attacking!);} }// 使用 AOP 的游戏示例 class Program {static void Main(string[] args){Character character new Character();character.Attack();// 输出结果// [Log] Entering Attack// Character attacking!// [Log] Exiting Attack} }
http://www.zqtcl.cn/news/771527/

相关文章:

  • 提供邯郸企业建网站网站图片上怎么做弹幕效果
  • 滨州做网站的wordpress如何添加商桥
  • 网站登录密码忘记网站开发营业执照申请
  • 电商网站设计思路音乐推广平台有哪些
  • 网站建设傲鸿网站链轮内有死链
  • 哪些网站可以做微商品牌宣传网站怎么不花钱做排名 知乎
  • 上传了网站源码怎么做wordpress加百度广告代码出问题
  • 哪些网站做推广vi设计说明模板
  • 杭州市建设工程造价管理协会网站攀枝花建设工程质量监督站投诉网站
  • 做网站推广送什么深圳的网站建设公司流程
  • 中国网站开发的前景制作公司主页网站
  • 在线画流程图的网站购物网站的设计与实现论文
  • 淘宝客cms网站建设K12网站怎么建设
  • 专业门户网站开发浙江省湖州艺术与设计学校官网
  • 企业网站搭建价格搭建平台的另一种说法
  • 网站开发框架桂林人论坛风姿摄影
  • 吉林省建设安全信息网站网站服务器和空间有什么区别
  • 百度制作网站怎么去掉2345网址导航
  • 深圳网站建设有限公司 2019哪些建材网站可以做宣传
  • 西安阿里云网站建设一建报名资格条件
  • 聊城网站优化wordpress循环该分类子分类
  • 帮网站做关键词排名优化创造网站需要多少钱
  • 广西网站建设推荐wordpress 宣布停止
  • 专注网站制作青岛景观设计公司排名
  • 安庆做网站网站代理建设网站观澜
  • 网站开发需求收集 模板cms做门户网站
  • dw网站首页的导航怎么做有大佬给个网址吗
  • 一个网站怎么做聚合洛可可设计公司贾伟
  • 什么是优化型网站网页设计作业在线网站首页
  • 关于网站建设广告词英文案例网站