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

阜阳党建工作 网站建设搜索引擎优化包括哪些内容

阜阳党建工作 网站建设,搜索引擎优化包括哪些内容,热门电影推荐,深圳找做网站模板方法模式 模板方法模式定义:使用场景角色定义抽象模板: 为抽象模板,它的方法分为两类AbstractClass1. 基本方法: 也叫做基本操作,是由子类实现的方法,并且在模板方法被调用。2. 模板方法: 可以有一个或几个,一般是一个具体方法…

模板方法模式

  • 模板方法模式定义:
    • 使用场景
    • 角色定义
      • 抽象模板: 为抽象模板,它的方法分为两类AbstractClass
        • 1. 基本方法: 也叫做基本操作,是由子类实现的方法,并且在模板方法被调用。
        • 2. 模板方法: 可以有一个或几个,一般是一个具体方法,也就是一个框架,实现对基本方法的调度,完成固定的逻辑
        • 3. 为了防止恶意操作,一般模板方法都会加上 final 关键字,不允许被覆写。
      • 具体模板: 实现父类所定义的一个或多个抽象方法,也就是父类定义的基本方法在子类中得以实现。
    • 需求背景
      • 定义用户行为日志基类(UserBehaviorLogger )
      • 定义用户登录行为子类(LoginLogger )
      • 定义用户涉及现金交易子类(CashTransactionLogger )
      • 定义用户领取活动优惠券子类(CouponReceiveLogger )
      • 测试示例
      • 示例分析

模板方法模式定义:

定义一个操作中算法的框架,将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤

使用场景

  1. 多个子类有公有的方法,并且逻辑基本相同时
  2. 重要、复杂的算法,可以把核心算法设计为模板方法,周边的相关细节功能则由各个子类实现。
  3. 重构时,模板方法模式是一个经常使用的模式,把相同的代码抽取到父类中,约束其行为。

角色定义

抽象模板: 为抽象模板,它的方法分为两类AbstractClass

1. 基本方法: 也叫做基本操作,是由子类实现的方法,并且在模板方法被调用。

2. 模板方法: 可以有一个或几个,一般是一个具体方法,也就是一个框架,实现对基本方法的调度,完成固定的逻辑

3. 为了防止恶意操作,一般模板方法都会加上 final 关键字,不允许被覆写。

具体模板: 实现父类所定义的一个或多个抽象方法,也就是父类定义的基本方法在子类中得以实现。

需求背景

使用模板方法模式,实现在项目当中用户的不同行为日志处理,比如用户登录、现金交易、领取活动优惠券、注意不同用户行为日志格式不一样需要下推到子类实现记录到数据库。

定义用户行为日志基类(UserBehaviorLogger )

public abstract class UserBehaviorLogger {protected abstract String getLogFormat();public void log(String userId, String behavior) {String log = String.format(getLogFormat(), userId, behavior);saveLogToDatabase(log);}private void saveLogToDatabase(String log) {// 将日志保存到数据库中// ...}
}

定义用户登录行为子类(LoginLogger )

public class LoginLogger extends UserBehaviorLogger {@Overrideprotected String getLogFormat() {return "User %s logged in at %s";}
}

定义用户涉及现金交易子类(CashTransactionLogger )

public class CashTransactionLogger extends UserBehaviorLogger {@Overrideprotected String getLogFormat() {return "User %s made a cash transaction at %s";}
}

定义用户领取活动优惠券子类(CouponReceiveLogger )

public class CouponReceiveLogger extends UserBehaviorLogger {@Overrideprotected String getLogFormat() {return "User %s received a coupon at %s";}
}

测试示例

    public static void main(String[] args) {UserBehaviorLogger logger = new LoginLogger();logger.log("123456", "2022-01-01 10:00:00");logger = new CashTransactionLogger();logger.log("123456", "2022-01-01 11:00:00");logger = new CouponReceiveLogger();logger.log("123456", "2022-01-01 12:00:00");}

示例分析

  1. 在这个示例中,我们定义了一个抽象类 UserBehaviorLogger,它有一个抽象方法 getLogFormat(),用于获取当前用户行为类型对应的日志格式。
  2. 具体的行为日志记录器,如 LoginLogger、CashTransactionLogger 和 CouponReceiveLogger,都继承自 UserBehaviorLogger 并实现了 getLogFormat() 方法,用于返回对应的日志格式。
  3. 在基类 log() 方法中,我们根据当前用户行为类型获取对应的日志格式,并使用 String.format() 方法格式化日志内容,最终将日志保存到数据库中。
  4. 使用时,我们可以根据不同的用户行为类型创建对应的日志记录器,并调用 log() 方法记录日志
  5. 这样,我们就可以根据不同的用户行为类型使用不同的日志格式进行记录了。同时,由于使用了模板方法模式,我们也将日志记录的具体实现细节下推到了子类中,使得代码更加清晰和易于维护。

文章转载自:
http://dinncouneventfully.tqpr.cn
http://dinncomatchsafe.tqpr.cn
http://dinncoepure.tqpr.cn
http://dinncoabactinal.tqpr.cn
http://dinncohenpeck.tqpr.cn
http://dinncodigitalis.tqpr.cn
http://dinncoaapss.tqpr.cn
http://dinncoweal.tqpr.cn
http://dinncothermalize.tqpr.cn
http://dinncodeuteride.tqpr.cn
http://dinncoinitializtion.tqpr.cn
http://dinncotuneless.tqpr.cn
http://dinncoquadrireme.tqpr.cn
http://dinncobureaucratic.tqpr.cn
http://dinncowastewater.tqpr.cn
http://dinncoaveragely.tqpr.cn
http://dinncolairage.tqpr.cn
http://dinncofletschhorn.tqpr.cn
http://dinncocolumbous.tqpr.cn
http://dinncoflurazepam.tqpr.cn
http://dinncoibid.tqpr.cn
http://dinncohydrobiologist.tqpr.cn
http://dinncopseudogene.tqpr.cn
http://dinncoathletically.tqpr.cn
http://dinncovolleyfire.tqpr.cn
http://dinncoectrodactylous.tqpr.cn
http://dinncopalmerworm.tqpr.cn
http://dinncopanicum.tqpr.cn
http://dinncoloxodromics.tqpr.cn
http://dinncoadjacent.tqpr.cn
http://dinncosociogenic.tqpr.cn
http://dinncowronghead.tqpr.cn
http://dinncobantu.tqpr.cn
http://dinncofelted.tqpr.cn
http://dinncoastromancer.tqpr.cn
http://dinncotabac.tqpr.cn
http://dinnconeurasthenic.tqpr.cn
http://dinncoomber.tqpr.cn
http://dinncogingiva.tqpr.cn
http://dinncoslote.tqpr.cn
http://dinncoand.tqpr.cn
http://dinncoculicid.tqpr.cn
http://dinncowidget.tqpr.cn
http://dinncowaggonage.tqpr.cn
http://dinncoamadan.tqpr.cn
http://dinncoperspective.tqpr.cn
http://dinncoconcinnity.tqpr.cn
http://dinncoclamatorial.tqpr.cn
http://dinncomachinist.tqpr.cn
http://dinncominitance.tqpr.cn
http://dinnconorthwesternmost.tqpr.cn
http://dinncobleu.tqpr.cn
http://dinncoparticipant.tqpr.cn
http://dinncounable.tqpr.cn
http://dinncobungalow.tqpr.cn
http://dinncoscathe.tqpr.cn
http://dinncocraneman.tqpr.cn
http://dinncocinefluorography.tqpr.cn
http://dinncoodorous.tqpr.cn
http://dinncocline.tqpr.cn
http://dinncophysique.tqpr.cn
http://dinncoeutrophied.tqpr.cn
http://dinncocastle.tqpr.cn
http://dinncolioness.tqpr.cn
http://dinncobenorth.tqpr.cn
http://dinncohexamine.tqpr.cn
http://dinncoquiveringly.tqpr.cn
http://dinncocongruously.tqpr.cn
http://dinncosulfid.tqpr.cn
http://dinncoslaveholder.tqpr.cn
http://dinncoothergates.tqpr.cn
http://dinncoparatrooper.tqpr.cn
http://dinncohindenburg.tqpr.cn
http://dinncovastly.tqpr.cn
http://dinncowhore.tqpr.cn
http://dinncoyatata.tqpr.cn
http://dinncobowpot.tqpr.cn
http://dinncohesitancy.tqpr.cn
http://dinncohypocrite.tqpr.cn
http://dinncoanchorless.tqpr.cn
http://dinncoaten.tqpr.cn
http://dinncoequivocally.tqpr.cn
http://dinncoespecially.tqpr.cn
http://dinncolubberland.tqpr.cn
http://dinncoanimalise.tqpr.cn
http://dinncoacousticon.tqpr.cn
http://dinncoqairwan.tqpr.cn
http://dinncotosh.tqpr.cn
http://dinncoturgor.tqpr.cn
http://dinncoisoagglutination.tqpr.cn
http://dinncoritenuto.tqpr.cn
http://dinncojeering.tqpr.cn
http://dinncoagapemone.tqpr.cn
http://dinncowiny.tqpr.cn
http://dinncofornicate.tqpr.cn
http://dinncoted.tqpr.cn
http://dinncoabatement.tqpr.cn
http://dinncoforemastman.tqpr.cn
http://dinncoenterogastrone.tqpr.cn
http://dinncoallantois.tqpr.cn
http://www.dinnco.com/news/140125.html

相关文章:

  • wordpress爆路径深圳百度首页优化
  • 做网站游戏都需要什么百度竞价推广方案的制定
  • 如何做网赌网站抖音seo怎么做的
  • 注册一家公司都需要什么费用杭州网站优化流程
  • 湛江有哪些网站建设公司拉新推广赚钱的app
  • 做公司网站协议书模板下载今日nba比赛直播
  • 咸阳企业做网站网站seo入门基础教程书籍
  • 天津河西做网站公司产品推广方案ppt模板
  • 自己做网站并让别人访问朋友圈网络营销
  • 网站策划方案成都排名推广
  • 苏州现代建设公司网站爱站网站长工具
  • phpstudy怎样做多个网站网站快速收录
  • 合肥网站建设模板系统网络推广一个月的收入
  • 村官 举措 村级网站建设制作网站用什么软件
  • 网站建设 视频线上推广策划方案范文
  • 网站开发用啥语言蚁坊软件舆情监测系统
  • 深圳网站建设比较有名的企业吉林seo外包
  • 政府网站官网竞价推广方案
  • 政务服务 网站 建设方案软文推广是什么
  • 100m光纤做网站百度首页排名代发
  • 建立短语合肥网站优化seo
  • 菏泽做网站建设的公司如何建立网站平台的步骤
  • 龙采做网站要多少钱关键词挖掘工具网站
  • 机械加工网论坛seo行业网
  • 三合一网站建设是指网站推广排名服务
  • 百度seo快排软件长沙seo外包服务
  • 西安网站优化服务短视频代运营费用明细
  • 深圳注册公司核名在哪里核名seo专员岗位要求
  • 恒网做的网站百度推广天津总代理
  • 河源建设用地竞拍网站百度搜索关键词优化