设计模式
文章平均质量分 83
sld0609
这个作者很懒,什么都没留下…
展开
-
策略模式
面对算法的经常变动,我们就要学习使用策略模式了。 策略模式(Strategy):它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。 它包括三个组成部分: 1.抽象策略角色:策略类,通常由一个接口或者抽象类实现。 2.具体策略角色:包装了相关的算法和行为。原创 2013-01-26 15:05:22 · 1084 阅读 · 6 评论 -
实战练习之--状态模式
在第一遍学习大话设计模式的时候,写过关于状态模式的博客。不过那个时候的素材主要来自于课本,理解的内容也是书上的例子,以“看懂”为主要目的。但是在这次机房收费系统合作版的实战中,我需要以“会用”为主要目的了,当然,理解的也会有所深刻。 此次我把状态模式加在上学生下机处,主要为了计算消费金额。大致思路为:(此种思路主要针对于网吧使用的收费系统,因为学校机房可以玩通宵的还是比较少的。)首先,将上原创 2013-11-07 14:35:55 · 1341 阅读 · 26 评论 -
策略模式
在大话中,我们已经学习过策略模式,并且对书中的例子进行了实现。可是真到了此时,要将策略模式应用到机房收费系统中,感觉无从下手了。好在,还是很快的迈出了第一步--做! 第一次在机房中加的设计模式就是抽象工厂,说实在的,那时候的感触远远没有现在加入策略模式大。其中最主要的原因就是--自我思考!抽象工厂是在网上参考他人经验后写的,可以说是比猫画虎吧,当时写完了也没有自己思考一下为什么别人要这么写原创 2013-09-08 20:12:32 · 1687 阅读 · 19 评论 -
机房收费系统=三层+设计模式
在简单的三层登陆完成之后,我又在其中加入了设计模式,其中包括抽象工厂+反射和外观模式.关于设计模式,在学习三层之前我们已经系统的学习过,可是在这次往机房收费系统中加设计模式时,还是感觉无从下手,出现了学没有致用的尴尬情景.不过这也体现了我们提高班学习中项目驱动的优势. 接下来是我的一些现有思路,可能还不很准确,期待读者朋友的指点. 先说一下简单的三层登陆思想吧: 我们现阶段原创 2013-07-24 15:44:19 · 1989 阅读 · 43 评论 -
《大话设计模式》部分模式总结(三)
17.单例模式: 对于一些刚刚学习面向对象思想的小菜们,普遍的会出现定义过多的类这一现象,对此,程杰老师提出,有些类,也需要计划生育。也就是说,类,并不是越多越好。这就涉及到了一个模式——单例模式。 单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一原创 2013-05-28 11:17:33 · 1592 阅读 · 5 评论 -
《大话设计模式》部分模式总结(一):
1.简单工厂模式: 其中主要涉及到四方面内容: 一是:代码规范。这不仅需要初学者注意,也需要那些在这方面做得不够的老程序员加以重视。正如米老师经常说的一句话:代码是给别人看的!只有自己能看懂的代码,不是好代码。关于代码规范,提高班有专门的相关文档,是王鹏师哥和李雪茹师姐编写的,大家可以多看看。 第二是:面向对象的编程(封装,继承和多态)。以活字印刷为例,生动形象地说明了面向对原创 2013-05-20 16:11:03 · 1516 阅读 · 11 评论 -
《大话设计模式》部分模式总结(二)
9.建造者模式: 千万个饭店,千万不同味道的鱼香肉丝,但是千万个肯德基,却只有一种味道。由此程杰老师引出了这一模式--建造者模式。建造者模式,也就是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 利用建造者模式,用户只需指定需要建造的类型就可以得到它们,而具体建造的过程和细节就不需要知道了。简单来说,建造者模式是在当创建复杂对象的算法应该独立于该对象的组原创 2013-05-28 09:47:09 · 1909 阅读 · 17 评论 -
简单工厂模式
最近刚刚开始学习程杰老师的大话设计模式,首先是对面向对象基础知识的补习,例如类、封装、继承、多态、接口和事件等概念;其次就开始学习第一个设计模式--简单工厂模式了。 开始学习,是由小菜面试受挫引出的,基本一整章都是在说代码的规范化,包括可维护、可复用、可扩展和灵活性等。比较纳闷,设计模式怎么在说这些呢?上网查了资料才得到解释: 简单工厂模式不能说是一个设计模式,原创 2013-01-23 13:50:05 · 1622 阅读 · 9 评论 -
代理模式
说到代理,相信大家都不会陌生,平时生活工作都有可能遇到,其实再通俗一点,也可以说成是“中介”。 代理模式的定义:为其他对象提供一种代理,以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可在客户端和目标对象之间起到中介的作用。 代理模式结构图: 代理模式基本代码:原创 2013-02-20 19:35:27 · 846 阅读 · 5 评论 -
工厂方法模式
工厂方法(FactoryMethod)模式:是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。也就是说核心工厂类不再负责产品的创建,仅负责具体工厂子类必须实现的接口就行。这样抽象的好处是显而易见的,我们不再需要去修改具体工厂的角色了。 例如下面的代码:是一个即将毕业的大学生,以学雷锋做好事的名义去帮助一位老人: //雷锋类 cla原创 2013-01-28 11:05:07 · 1019 阅读 · 3 评论 -
装饰模式
装饰模式(Decorator Pattern):指在不必改变原类文件和使用继承的情况下动态的扩展一个对象的功能。简单一点说,装饰模式就是动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式要比生成子类更为灵活。 装饰模式结构图: 装饰模式基本代码: 1.Component类 //Comp原创 2013-01-27 11:07:45 · 1119 阅读 · 8 评论 -
AOP之代理模式(一)
AOP,为Aspect OrientedProgramming的缩写,意为:面向切面,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 说了一堆很官方的话,大家可能不是特别明白,不过这些算是我们实践的理论寄出去,还是很有必要知道的,但是现在不必原创 2015-05-29 21:20:42 · 999 阅读 · 4 评论