随笔分类 - 设计模式
摘要:抽象工厂是创建型模式的代表,其他的还有单件(Singleton)、生成器(Builder)、工厂方法(Factory Method)以及原型(Prototype),模式本身没有好坏之分,只有适用不适用的区别。 最近常看喜洋洋与灰太狼,这是发生在青青草原的故事,其中涉及的动物有绵羊、山羊、羚羊、狼族等
阅读全文
摘要:ABSTRACT FACTORY 追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂
阅读全文
摘要:话说网上总结的设计模式都以单例,工厂,观察者等模式最多,但是我个人觉得真正无处不在的却是模板方法。曾经有一位微软的讲师说过如果你只想学一种设计模式,那就模板方法吧。笔者曾经开发过一款安全软件,其中负责云扫描模块。当然扫描部分也不止只用在云查杀部分,例如附带的清理功能,保险箱扫描可保护的软件都会用到扫...
阅读全文
摘要:大家打开像QQ电脑管家这类安全软件,主界面上显示的就是体检按钮,点下去体检的项早已经数年前的寥寥之数增加到现在的数十条,而切换到杀毒页面上显示的无论是快速查杀或者全盘扫描也已经从几年前几个盘符+内存变成了现在扫描电脑里面各个关键位置。而对于一个软件设计师而言,我们最早应该如何设计这个扫描策略以保证能够满足后来不断扩充需求呢?注:本人并没有实际分析过像QQ管家在这上面的设计,只是写出一种自认为可以满足以上需求并且在实际项目中应用过的设计方法。其实以上需求便是策略模式的实际良好应用,策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立
阅读全文
摘要:话说最近项目重构,整理了一些以前的人写的代码,看到有很多功能重复的地方。其中有一部分是很多重复2小时检查一次操作的代码,比如2小时客户端检查一次更新,2小时从服务器上请求一次数据看是否需要弹框,2小时检查一次是否有下发指令指令,2小时检查一次有没过天要重复递交运行数据,2小时检查一次是否过天需要重新刷新用户登录的积分等等,除此之外也有很多半小时一小时检查请求一次的操作,而最初实现第一个功能的时候也没考虑到后续会增加这么多以至于现在好多检查或者请求都是独自为战因而扩展性极差。这种扎堆的操作很容易想到必须为这里操作设计一个新的方案。但是这个方案除了尽可能的减少2个小时一次的检查次数(重构的三次法则
阅读全文

浙公网安备 33010602011771号