蜗牛大师

吴庆龙的学习笔记

导航

04 2020 档案

设计模式-23解释器模式(Interpreter Pattern)
摘要:1 模式动机 在软件开发中,会遇到有些问题多次重复出现,而且有一定的相似性和规律性。如果将它们归纳成一种简单的语言,那么这些问题实例将是该语言的一些句子,这样就可以用“编译原理”中的解释器模式来实现了。 虽然使用解释器模式的实例不是很多,但对于满足以上特点,且对运行效率要求不是很高的应用实例,如果用 阅读全文

posted @ 2020-04-20 13:41 蜗牛大师 阅读(260) 评论(0) 推荐(0) 编辑

设计模式-22备忘录模式(Memento Pattern)
摘要:1.模式动机 每个人都有犯错误的时候,都希望有种“后悔药”能弥补自己的过失,让自己重新开始,但现实是残酷的。在计算机应用中,客户同样会常常犯错误,能否提供“后悔药”给他们呢?当然是可以的,而且是有必要的。这个功能由“备忘录模式”来实现。 其实很多应用软件都提供了这项功能,如 Word、记事本、Pho 阅读全文

posted @ 2020-04-13 17:23 蜗牛大师 阅读(136) 评论(0) 推荐(0) 编辑

设计模式-21访问者模式(Visitor Pattern)
摘要:1.模式动机 在现实生活中,有些集合对象中存在多种不同的元素,且每种元素也存在多种不同的访问者和处理方式。例如,公园中存在多个景点,也存在多个游客,不同的游客对同一个景点的评价可能不同,电影或电视剧中的人物角色,不同的观众对他们的评价也不同。 这些被处理的 数据元素相对稳定 而 访问方式多种多样 的 阅读全文

posted @ 2020-04-13 11:23 蜗牛大师 阅读(308) 评论(0) 推荐(0) 编辑

设计模式-20迭代器模式(Iterator Pattern)
摘要:1.模式动机 在现实生活以及程序设计中,经常要访问一个聚合对象中的各个元素,如“数据结构”中的链表遍历,通常的做法是将链表的创建和遍历都放在同一个类中,但这种方式不利于程序的扩展,如果要更换遍历方法就必须修改程序源代码,这违背了 “开闭原则”。 既然将遍历方法封装在聚合类中不可取,那么聚合类中不提供 阅读全文

posted @ 2020-04-07 10:44 蜗牛大师 阅读(242) 评论(0) 推荐(0) 编辑