登陆注册
15296300000150

第150章 2 模板方法模式

小A:“通常我们会遇到这样的一个问题:我们知道一个算法所需的关键步聚,并确定了这些步聚的执行顺序。但是某些步聚的具体实现是未知的,或者是某些步聚的实现与具体的环境相关。”

大B:“模板方法模式把我们不知道具体实现的步骤封装成抽象方法,提供一些按正确顺序调用它们的具体方法(这些具体方法统称为模板方法),这样构成一个抽象基类。子类通过继承这个抽象基类去实现各个步聚的抽象方法,而工作流程却由父类来控制。”

小A:“什么是模板方法模式?”

大B:“定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。”

小A:“要如何去实现它哩?”

大B:“模板模式,是众多模式之中用得比较多的模式,在具体的应用中,我们已经经意或者不经意的采用了这种模式。其是先写定义,后实现,然后再调用,将实现与调用分开,从而利用增强了程序的延展性。模板模式是利用了虚函数的多态性,我们可以实现,也可以不实现。”

public abstract class AbstractOrder{

public Order placeOrder(int customerId,List orderItemList){

int total=0;

for(int i=0;igetSpendingLimit(customerId)){

throw new BusinessException(“超出信用额度” getSpendingLimit(customerId));

}

int orderId=saveOrder(customerId,total,orderItemList);

return new OrderImpl(orderId,total);

}

public abstract int getOrderItemPrice(OrderItem orderItem);

public abstract int getSpendingLimit(int customerId);

public abstract int saveOrder(int customerId,int total,List orderItemList);

}

rendercode();

AbstractOrder在placeOrder方法中确定了定单处理的逻辑,placeOrder方法也称为模板方法。在placeOrder中调用了三个抽象方法。子类只需要去实现三个抽象方法,而无需要去关心定单处理的逻辑。

同类推荐
  • 图说电子计算机

    图说电子计算机

    今天人们谈到计算机常常会把它和网络联系起来。20世纪90年代兴起的因特网其影响之广、普及之快也是大家始料未及的,也从没有一种技术能像网络一样日新月异,并迅速地改变着我们的学习和生活方式。因特网大大缩小了时空界限,为我们提供了快捷方便的交流途径。在未来10年内,计算机又将会有怎样飞速的发展呢?在互联网上进行医疗诊断、远程教学、电子商务、视频会议等活动已经实现,未来的互联网的传输速率将会提高100倍,大家可以随时随地连接到因特网上,更方便地进行交流、沟通和开展商务活动。
  • 计算机应用基础案例教程

    计算机应用基础案例教程

    本书是根据教育部对高等院校计算机公共基础课程的基本要求,结合计算机技术的最新发展及高职高专类院校计算机基础课程改革的最新动向编写而成。其主要内容包括计算机基础知识、WindowsXP操作系统、Word2003文字处理软件、Excel2003电子表格软件、PowerPoint2003演示文稿制作软件、计算机网络与安全及常用工具软件的使用。本书将理论知识与项目实践相结合,既对理论有较为系统全面的讲解,又通过案例突出了操作技能的培养。本书内容新颖,体系结构合理,可作为高职高专学校、成人高等学校的计算机公共基础课教材,也可以作为广大计算机爱好者的自学参考书。
  • 中文版AutoCAD2005辅助设计宝典

    中文版AutoCAD2005辅助设计宝典

    本书全面、详细地介绍了中文版AutoCAD2005的特点、功能以及使用方法和技巧。全书共分11章,前九章分别介绍了利用中文版AutoCAD2005进行辅助设计的方法和技巧,最后两章讲解了若干综合实例。
  • 大话设计模式

    大话设计模式

    本书主要采用JAVA语言介绍设计模式中比较常见的23种设计模式,分29章具体介绍,以现实生活中常见的事情为例来具体分析讲解。
  • EDA技术

    EDA技术

    根据课堂教学和实验操作的要求,以提高实际工程设计能力为目的,深入浅出地对EDA技术相关知识作了系统和完整的介绍,相关知识作了系统和完整的介绍。
热门推荐
  • 龙崎大陆

    龙崎大陆

    多情总被无情伤,无情最是有情人。吾非无情!只因世道沧桑人心皆恶。且看一个乡间少年、如何几近生死、屡遭背叛…
  • 校草的专属萌丫头

    校草的专属萌丫头

    什么?开学第一天快要迟到,好不容易挤上了公交车竟然还被当成神经病被踢下车,踢下车还被突如其来的饮料瓶”爆头’士可杀不可辱........“没错,帅哥就是那里1.2.3。哐当一声奇袭成功。”某男气的快要吐血,最后望着那畏罪潜逃的身影缓缓说出了”别让我再见到你......微宝书友群:454031190使用书中任何一个角色名字皆可!
  • 逍遥游乱世

    逍遥游乱世

    “不对的,你看他们头上的云的!那是大天劫的劫云的!不的,比大天劫还要猛烈的。快叫他回来的!”心细的顾杰注意到了天空的异象吼道:“小兄弟快回来的,你头上有劫云的。别被一起扯进去了的!”
  • 哲学世界的新解读

    哲学世界的新解读

    本书分为两大部分,第一部分以马克思主义哲学为指导,以电影为媒介,直观地展示中西文化的差异,深入挖掘中西文化各个方面的内在精神;第二部部分进一步挖掘中学生身边艺术的哲学意味,从而将学生的思维层次带到更深一层范畴。
  • 掠情99日:千金的神秘富少

    掠情99日:千金的神秘富少

    为躲追杀,他化身业内顶尖牛郎,玩心大起时跟她的一纸契约,却不料惹火烧身,结果赔了夫人又折兵。他本是中东首富之子,身份神秘,行踪诡异,为重新夺回她,他暴露了霸道本性,势要将不择手段进行到底!“从今以后,她就只能是我的女人,谁动她,我动谁全家!”她问,“如若我动你呢?”某男扑上来,“我让你动……”
  • 守护甜心之雪樱纷飞

    守护甜心之雪樱纷飞

    因为一个转学生,亚梦的一切都毁了。爱情的背叛,友情的脆弱,守护者的不相信,亚梦从此再也不相信友情;再也不相信爱情。这一切都是因为一个转学生,一个认识不到一星期的转学生造成的。
  • tfboys青春有你,真好

    tfboys青春有你,真好

    从古代,到现代,不知道什么让六个人的记忆依然保存,带着仇恨参与这个纯洁的友情的杨沫景,蒙在鼓里的杨紫曦最后是否会知道真像?被卷入这场风波的林梦瑶最后结果如何?单纯的王源是否也是杨沫景的复仇对象?成熟的大哥是否会因为上辈人的恩怨错过爱情?只想对自己妹妹和情人好的易烊千玺他会卷入这场风波嘛?这场友情盛宴注定不会永久······
  • 穿越废土

    穿越废土

    他穿越异界,降临刚刚踏入末日的废土大地,却发现这里所发生的一切是如此的似曾相识!怪物,职业者,鬼神,异族,神祗,恶魔...“就让我打破这一切,看看背后,终究蕴含着怎样的秘密吧!”——BY新天庭之主宰*董轩
  • 长夜子离歌

    长夜子离歌

    主人公慕容子离,是九原西州冒勖国公主,因为一场政治阴谋,冒勖被迫与中州大国端开战,冒勖战败,举国归顺。端勒令冒勖送公主进京作为质子。在谋臣建议下,冒勖挑选了一位官宦女子假做公主入京,而慕容子离扮作侍女一同入京,以做内应,寻找端朝软肋,伺机复国。慕容子离入京后与端朝的皇子、郡主结识,更与皇长子两相钦慕。她发觉端朝举国上下臣民一心、国治昌明,本想放弃复仇,却因奸臣识破身份险遭灭口......
  • 江山为聘:哀家要改嫁

    江山为聘:哀家要改嫁

    野史云:“她出生小门小户,伪装郡主,与狼供寝,与野人共食物,她是沙漠毒花谁沾染谁倒霉,她身为后周太后,行为不恭,品性不端,面首无数,淫乱后宫,令无数君候贵族为之疯狂着迷,她还乱伦,与后周,天子不清不楚。”玉妖月:“狗屁,一派胡言!”她其实是萧小宝,也是手握后周虎符的太后娘娘,懂风水,能掐会算,还身怀异能,文成武就,一不小心闯入乱世,成了重获新生为报师恩的沙漠毒花。人人都说她,灾星、狼女、红颜祸水,天山阁主;人人叫都说他,八字太硬克妻,妨主人,东罗刹;她道:“三郎,咱们绝配!”他道:“如何绝配?”她眼波流转,一笑道:“祸水东引啊!”【情节虚构,请勿模仿】