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

python做网站有什么优势wordpress 电影网站

python做网站有什么优势,wordpress 电影网站,网站建设运营规划,太原网站优化多少钱文章目录 实现举例应用钩子 Hook 模板方法模式是一种基于继承的设计模式#xff0c;由两部分构成#xff1a; 抽象父类#xff08;一般封装了子类的算法框架#xff09;具体的实现子类 实现 简单地通过继承就可以实现 举例 足球赛 和 篮球赛 都有 3 个步骤#xff0c… 文章目录 实现举例应用钩子 Hook 模板方法模式是一种基于继承的设计模式由两部分构成 抽象父类一般封装了子类的算法框架具体的实现子类 实现 简单地通过继承就可以实现 举例 足球赛 和 篮球赛 都有 3 个步骤初始化开始游戏结束游戏 我们发现他们都有这个过程就可以把相同的点提取出来设置成一个模板 这里我们举例的 3 个方法都是抽象方法有时如果子类的行为是一致的可以直接实现具体方法 using System;public abstract class Game {public void Play(){Initialize();StartGame();EndGame();}protected abstract void Initialize();protected abstract void StartGame();protected abstract void EndGame(); }public class FootballGame : Game {protected override void Initialize(){Console.WriteLine(Football game initialized. Setting up teams and players.);}protected override void StartGame(){Console.WriteLine(Football game started. Kickoff!);}protected override void EndGame(){Console.WriteLine(Football game ended. Final score and statistics displayed.);} }public class BasketballGame : Game {protected override void Initialize(){Console.WriteLine(Basketball game initialized. Setting up teams and players.);}protected override void StartGame(){Console.WriteLine(Basketball game started. Tip-off!);}protected override void EndGame(){Console.WriteLine(Basketball game ended. Final score and statistics displayed.);} }public class Program {public static void Main(string[] args){Game footballGame new FootballGame();footballGame.Play();Console.WriteLine();Game basketballGame new BasketballGame();basketballGame.Play();} }应用 常被架构师用来搭建项目的框架程序员负责往里面填空 比如 Java 程序员经常用 HttpServlet 来开发项目他包含 7 个生命周期每个生命周期都对应一个 do 方法这些方法就需要 HttpServlet 的子类进行 具体实现 钩子 Hook 根据上面的例子如果有一种非常特别的球赛不需要 Initialize 就可以开始呢 我们可以在容易变化的方法处设置一个 Hook他可以有一个默认的实现需不需要 Hook 挂钩则由子类自行决定这样程序就有了变化的可能 using System;public abstract class Game {public void Play(){Initialize();StartGame();EndGame();}protected virtual void Initialize(){Console.WriteLine(Game initialized. Setting up teams and players.);// 在这里添加挂钩Hook行为AdditionalInitialization();}protected abstract void StartGame();protected abstract void EndGame();protected virtual void AdditionalInitialization(){// 默认的挂钩行为为空} }public class FootballGame : Game {protected override void StartGame(){Console.WriteLine(Football game started. Kickoff!);}protected override void EndGame(){Console.WriteLine(Football game ended. Final score and statistics displayed.);}protected override void AdditionalInitialization(){Console.WriteLine(Additional initialization for Football game.);} }public class BasketballGame : Game {protected override void StartGame(){Console.WriteLine(Basketball game started. Tip-off!);}protected override void EndGame(){Console.WriteLine(Basketball game ended. Final score and statistics displayed.);}protected override void AdditionalInitialization(){Console.WriteLine(Additional initialization for Basketball game.);} }public class Program {public static void Main(string[] args){Game footballGame new FootballGame();footballGame.Play();Console.WriteLine();Game basketballGame new BasketballGame();basketballGame.Play();} }
http://www.zqtcl.cn/news/874297/

相关文章:

  • 个人网站搭建平台wordpress免费还是收费
  • 网站优化协议嘉兴企业网站设计哪家好
  • 英文网站设计哪家好用php做的网站用什么数据库
  • 公司网站建设包括服装设计公司效果图
  • 做网站怎么购买主机下载安装百度一下
  • wordpress网站 搬家大型网站开发什么书籍好
  • 机关事业单位 网站建设方案书网站推送怎么做
  • php网站如何绑定一级域名到子目录做推广便宜的网站
  • 江苏省网站建设与管理历年自考试题商城网站 价格
  • 淘宝客网站建站源码icp备案查询官网入口
  • 环球资源网站网址微信管理中心
  • 青岛seo建站企业网址下载
  • 开发网站多少钱一个月做网站宽度
  • wordpress企业站主题哪个好做床上用品网站
  • 宜兴市做网站网站建设简讯
  • 点的排版设计网站音乐网站网页设计
  • 牛商网做网站的思路建设网站的机构
  • flash网站制作实例自适应网站做百度推广
  • 深圳建立网站电影里的做视频在线观看网站
  • 国家建设标准发布网站在哪里在线教育网站怎样建设
  • 徐州 商城网站设计winserver wordpress
  • 做网络课程的网站一般网站的架构
  • 网站建设包含哪些内容句容住房和城乡建设局网站
  • 做网站是做完给钱还是新房装修图片
  • 阿里云建站视频wordpress显示摘要插件
  • 济宁网站建设 企业谷网站开发有什么用
  • 网站建设一般多少钱官网代做网站公司哪家好
  • 页面简洁的网站深圳广告宣传片拍摄
  • 做外卖网站青岛助创网络科技有限公司
  • 怎么选择优秀的网站建设公司建设银行宁波分行 招聘网站