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

嘉峪关市住房和城乡建设局网站变装 Wordpress 小说

嘉峪关市住房和城乡建设局网站,变装 Wordpress 小说,成都建设规划局网站,胶州做网站公司一、什么是模板方法模式 模板方法模式#xff08;Template Method Pattern#xff09;是一种行为型设计模式#xff0c;它在父类中定义一个算法的框架#xff0c;允许子类在不改变算法结构的情况下重写算法的某些特定步骤。这种模式非常适合于那些存在共同行为的类#x…一、什么是模板方法模式 模板方法模式Template Method Pattern是一种行为型设计模式它在父类中定义一个算法的框架允许子类在不改变算法结构的情况下重写算法的某些特定步骤。这种模式非常适合于那些存在共同行为的类但具体实现需要根据不同情况定制的场景。 二、模板方法模式的角色 抽象类Abstract Class 定义模板方法和钩子方法。模板方法是一个定义算法骨架的方法它调用一系列钩子方法来完成具体的操作。模板方法可以是具体方法也可以是抽象方法取决于算法框架是否允许子类改变执行顺序。 具体类Concrete Class 实现抽象类中定义的钩子方法填充算法的特定步骤。具体类可以完全实现钩子方法也可以再次声明为抽象类让更具体的子类去实现。 钩子方法Hook Method 抽象类中定义的可以被子类重写的方法用于在模板方法中定义算法的特定步骤。钩子方法可以是抽象的也可以提供默认实现。 模板方法Template Method 抽象类中的一个具体方法定义了算法的骨架按顺序调用一系列钩子方法。模板方法可以调用其他模板方法形成一个模板方法的继承体系。 三、模板方法模式的典型应用场景 代码复用 当希望复用某个算法或操作的不同部分时模板方法模式可以将通用的部分封装在父类中而将变化的部分留给子类实现。 依赖倒置 当高层模块不应该依赖于低层模块两者都应该依赖于抽象时模板方法模式可以在抽象层定义算法框架具体的实现依赖于子类的具体实现。 四、模板方法模式在ThreadPoolExecutor中的应用 ThreadPoolExecutor 是 Java 并发包中的一个类它使用模板方法模式来定义线程池的任务执行流程。以下是它如何应用模板方法模式的详细解释 模板方法 execute(Runnable command)这是 Executor 接口中的一个方法ThreadPoolExecutor 实现了这个方法。它是一个模板方法定义了任务执行的框架。这个方法负责将任务提交给线程池执行包括任务队列的添加、线程的创建和启动等。 钩子方法 beforeExecute(Thread t, Runnable r)在线程执行任务之前调用可以被子类重写来执行一些准备工作如资源初始化。afterExecute(Runnable r, Throwable t)在线程执行任务之后调用可以被子类重用来执行一些清理工作如资源释放。terminated()在所有任务执行完毕后调用可以被子类重用来执行线程池关闭后的清理工作。 保护方法 addWorker(Runnable firstTask, boolean core)尝试添加一个新的 worker 线程到线程池可以是核心线程或非核心线程。runWorker(Worker w)执行 worker 线程的任务。 拒绝策略 reject(Runnable r)定义了当任务不能被执行时的拒绝策略如抛出异常或运行任务。 ThreadPoolExecutor 的模板方法模式使用示例 public class ThreadPoolExecutor extends AbstractExecutorService {// 模板方法public void execute(Runnable command) {if (!addWorker(command, false)) {reject(command);}}// 钩子方法protected void beforeExecute(Thread t, Runnable r) {// 可以被子类重写}protected void afterExecute(Runnable r, Throwable t) {// 可以被子类重写}protected void terminated() {// 可以被子类重写}protected void reject(Runnable r) {// 默认的拒绝策略可以被子类重写throw new RejectedExecutionException();}// ... 其他方法 ... } 在 ThreadPoolExecutor 中execute 方法是模板方法它定义了任务执行的框架并调用了 addWorker 和 reject 方法。beforeExecute、afterExecute 和 terminated 是钩子方法它们可以被子类重写来添加特定的逻辑。通过这种方式ThreadPoolExecutor 允许子类在不改变任务执行基本流程的情况下插入特定的行为。这种设计使得线程池的行为可以灵活地被定制同时保持了核心执行逻辑的一致性。
http://www.laogonggong.com/news/106881.html

相关文章:

  • wordpress主机分类信息网站绿岛网
  • 腾讯网站建设的基本情况网站建设报价单初期整理
  • html网站优化门户网站整改情况报告
  • 做网站后期需要什么费用沧州网站建设联系电话
  • 精品建站公司自己建网站数据怎么做
  • 要找企业做网站应该注意什么策划营销推广方案
  • 在线黑科技网站erp系统免费版下载
  • 做健身俱乐部网站的目的和意义阿里seo外包能去吗
  • 营销型网站建设推广钢板防护罩做网站
  • 泊头哪有哪家做网站做的号手机网投网站建设
  • 怎样搭建免费网站微信开发 微网站开发的详细流程
  • 越秀定制型网站建设八百客crm系统登录入口
  • 电商网站模版云南建设厅网站安全员报名入口
  • 北京网站搭建多少钱wordpress分类目录最简化404
  • 融资融券配资网站开发做影视网站有什么风险
  • 带后台的免费网站模板电子商务网站建设实验
  • 做直播网站用什么网上空间好网站建设小组五类成员
  • 广州天拓做网站吗深圳的设计网站大全
  • 天河做网站哪家好用word做网站功能结构图
  • 网站上传的图片怎么做的清晰市场营销策略名词解释
  • 临沭县哪里有建网站的东莞保安公司哪家好
  • 苏州大学网站建设军事前沿最新消息
  • 上海怎么建设网站一款教育培训咨询有限公司网站源码
  • 自己做电商网站吗联系方式 响应式网站
  • 淘宝做关键词的网站WordPress搭建主题
  • 网站更新维护页面中国旅游网站模板
  • 滨海做网站的价格淘宝客推广
  • ipad wordpressseo外链推广员
  • 仿qq网站程序安顺住房和城乡建设部网站
  • 微信开发 微网站开发的详细流程南三环做网站的公司