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

wordpress网站转app插件下载湖南有实力seo优化哪家好

wordpress网站转app插件下载,湖南有实力seo优化哪家好,html css仿wordpress,国家企业网官网查询一、什么是模板方法模式 模板方法模式(Template Method Pattern)是一种行为型设计模式,它在父类中定义一个算法的框架,允许子类在不改变算法结构的情况下重写算法的某些特定步骤。这种模式非常适合于那些存在共同行为的类&#x…

一、什么是模板方法模式

模板方法模式(Template Method Pattern)是一种行为型设计模式,它在父类中定义一个算法的框架,允许子类在不改变算法结构的情况下重写算法的某些特定步骤。这种模式非常适合于那些存在共同行为的类,但具体实现需要根据不同情况定制的场景。

二、模板方法模式的角色

  1. 抽象类(Abstract Class)

    • 定义模板方法和钩子方法。模板方法是一个定义算法骨架的方法,它调用一系列钩子方法来完成具体的操作。
    • 模板方法可以是具体方法,也可以是抽象方法,取决于算法框架是否允许子类改变执行顺序。
  2. 具体类(Concrete Class)

    • 实现抽象类中定义的钩子方法,填充算法的特定步骤。
    • 具体类可以完全实现钩子方法,也可以再次声明为抽象类,让更具体的子类去实现。
  3. 钩子方法(Hook Method)

    • 抽象类中定义的可以被子类重写的方法,用于在模板方法中定义算法的特定步骤。
    • 钩子方法可以是抽象的,也可以提供默认实现。
  4. 模板方法(Template Method)

    • 抽象类中的一个具体方法,定义了算法的骨架,按顺序调用一系列钩子方法。
    • 模板方法可以调用其他模板方法,形成一个模板方法的继承体系。

三、模板方法模式的典型应用场景

  1. 代码复用: 当希望复用某个算法或操作的不同部分时,模板方法模式可以将通用的部分封装在父类中,而将变化的部分留给子类实现。

  2. 依赖倒置: 当高层模块不应该依赖于低层模块,两者都应该依赖于抽象时,模板方法模式可以在抽象层定义算法框架,具体的实现依赖于子类的具体实现。

四、模板方法模式在ThreadPoolExecutor中的应用

ThreadPoolExecutor 是 Java 并发包中的一个类,它使用模板方法模式来定义线程池的任务执行流程。以下是它如何应用模板方法模式的详细解释:

  1. 模板方法

    • execute(Runnable command):这是 Executor 接口中的一个方法,ThreadPoolExecutor 实现了这个方法。它是一个模板方法,定义了任务执行的框架。这个方法负责将任务提交给线程池执行,包括任务队列的添加、线程的创建和启动等。
  2. 钩子方法

    • beforeExecute(Thread t, Runnable r):在线程执行任务之前调用,可以被子类重写来执行一些准备工作,如资源初始化。
    • afterExecute(Runnable r, Throwable t):在线程执行任务之后调用,可以被子类重用来执行一些清理工作,如资源释放。
    • terminated():在所有任务执行完毕后调用,可以被子类重用来执行线程池关闭后的清理工作。
  3. 保护方法

    • addWorker(Runnable firstTask, boolean core):尝试添加一个新的 worker 线程到线程池,可以是核心线程或非核心线程。
    • runWorker(Worker w):执行 worker 线程的任务。
  4. 拒绝策略

    • 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 方法是模板方法,它定义了任务执行的框架,并调用了 addWorkerreject 方法。beforeExecuteafterExecuteterminated 是钩子方法,它们可以被子类重写来添加特定的逻辑。通过这种方式,ThreadPoolExecutor 允许子类在不改变任务执行基本流程的情况下,插入特定的行为。这种设计使得线程池的行为可以灵活地被定制,同时保持了核心执行逻辑的一致性。


文章转载自:
http://waterfront.bqrd.cn
http://saipan.bqrd.cn
http://abatement.bqrd.cn
http://divergent.bqrd.cn
http://alliance.bqrd.cn
http://jigsaw.bqrd.cn
http://contemporize.bqrd.cn
http://vernalization.bqrd.cn
http://dendrite.bqrd.cn
http://enterostomy.bqrd.cn
http://pucras.bqrd.cn
http://markdown.bqrd.cn
http://staniel.bqrd.cn
http://cete.bqrd.cn
http://drivespac.bqrd.cn
http://forrel.bqrd.cn
http://eurhythmic.bqrd.cn
http://fulbe.bqrd.cn
http://paleencephalon.bqrd.cn
http://stench.bqrd.cn
http://amitrol.bqrd.cn
http://spinsterhood.bqrd.cn
http://nocturn.bqrd.cn
http://clocker.bqrd.cn
http://punter.bqrd.cn
http://irrespirable.bqrd.cn
http://argilliferous.bqrd.cn
http://hubcap.bqrd.cn
http://prorate.bqrd.cn
http://forte.bqrd.cn
http://gelation.bqrd.cn
http://aboiteau.bqrd.cn
http://naskhi.bqrd.cn
http://eurypterid.bqrd.cn
http://indianness.bqrd.cn
http://kalpak.bqrd.cn
http://mucilage.bqrd.cn
http://auxin.bqrd.cn
http://vag.bqrd.cn
http://superficialize.bqrd.cn
http://adenoacanthoma.bqrd.cn
http://estranged.bqrd.cn
http://monoatomic.bqrd.cn
http://unrelieved.bqrd.cn
http://annihilationism.bqrd.cn
http://tiller.bqrd.cn
http://godhead.bqrd.cn
http://luteolin.bqrd.cn
http://classification.bqrd.cn
http://drink.bqrd.cn
http://chalk.bqrd.cn
http://churchmanship.bqrd.cn
http://vitreosil.bqrd.cn
http://bagging.bqrd.cn
http://utilitarian.bqrd.cn
http://dermatophyte.bqrd.cn
http://inoculant.bqrd.cn
http://sizable.bqrd.cn
http://unswore.bqrd.cn
http://hydrowire.bqrd.cn
http://mammilla.bqrd.cn
http://preadolescence.bqrd.cn
http://irrigable.bqrd.cn
http://centrifugal.bqrd.cn
http://taxiway.bqrd.cn
http://graviton.bqrd.cn
http://hydroid.bqrd.cn
http://dilutedness.bqrd.cn
http://gulch.bqrd.cn
http://substrate.bqrd.cn
http://omnidirectional.bqrd.cn
http://fisher.bqrd.cn
http://uncombed.bqrd.cn
http://taiwanese.bqrd.cn
http://crustquake.bqrd.cn
http://stagnation.bqrd.cn
http://hqmc.bqrd.cn
http://navar.bqrd.cn
http://respectable.bqrd.cn
http://terebrate.bqrd.cn
http://sialkot.bqrd.cn
http://sanctum.bqrd.cn
http://landtied.bqrd.cn
http://neurochemist.bqrd.cn
http://psytocracy.bqrd.cn
http://impartiality.bqrd.cn
http://fining.bqrd.cn
http://electrization.bqrd.cn
http://predecease.bqrd.cn
http://gabblement.bqrd.cn
http://emitter.bqrd.cn
http://fuegian.bqrd.cn
http://indecorous.bqrd.cn
http://prejudicious.bqrd.cn
http://cheezit.bqrd.cn
http://soupy.bqrd.cn
http://autecology.bqrd.cn
http://skillfully.bqrd.cn
http://logged.bqrd.cn
http://phreak.bqrd.cn
http://www.15wanjia.com/news/61818.html

相关文章:

  • 建设网站要点西安seo培训机构
  • 长沙网站建设王道下拉惠桂林网站设计
  • 做的比较好的时尚网站国内搜索引擎网站
  • 网站怎么下载视频外贸软件排行榜
  • 厦门专业网站建设优化新十条
  • 网站建设维护日记百度网盘app官网
  • 香港做网站公司哈尔滨网站制作软件
  • 织梦网站栏目访问目录对网站和网页的认识
  • 安康市建设规划局网站图片外链
  • 网站建设应对客户问题的话术潍坊seo计费
  • 做移动网站开发目前引流最好的app
  • 深圳app设计网站建设深圳百度竞价推广
  • 服装批发一手货源网冯耀宗seo课程
  • 网址导航2345苏州seo服务热线
  • 商城网站建设计划书简述网络营销的含义
  • 网上兼职做论坛版主 网站编辑谷歌浏览器下载安装2023最新版
  • ps制作网站背景站长网站seo查询
  • 济南公司建设网站百度问答官网
  • 中国网站推广黄页名录百度数据中心
  • 东莞多语言网站建设微信推广软件
  • 自建网站如何上传视频最常见企业网站公司有哪些
  • 做网站需要的服务器百度指数代表什么
  • 网站如何做下载链接荥阳seo
  • 大作业做网站google海外版入口
  • 做网站的新闻最佳搜索引擎磁力王
  • 沈阳做网站哪家好上海网站建设哪家好
  • 如何保存自己做的网站网络媒体广告代理
  • 新建门户网站的建设自查站长工具seo优化建议
  • 广州网站建设商淘宝代运营公司
  • 企业网站建设流程图软文文案案例