摘要: 顾名思义,我们来想象这样一个场景。商场有很多种打折方式,比如最近京东的满300送100,全场五折等等,商家销售的方式多种多样,如果我们用这样的场景来建模,你会怎么做呢?我们已经了解过了简单工厂模式,或许我们可以用简单工厂模式,抽象出一个用于计算最终消费者需要花多少钱的方法,然后对各种打折方式进行实现,增加一个工厂,根据客户端传递过来的标志量对打折方式的实例进行生产。这样做固然可以,但是我们可以想到,商家的打折方式是不确定的,可能今天采用这种打折方式,明天又会换一种打折方式,那么我们是不是得频繁修改这个工厂类呢? oh,no。这样做显然是糟糕的,虽然可以实现,但是它应该不是好的实现方式,那... 阅读全文
posted @ 2012-10-23 12:17 寒剑飘香 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 在设计模式中需要涉及到UML类图的知识,所以在这里我们就简单了解一下UML类图中各种符号所代表的含义。 我们先看一张图,基本包含了UML类图的各种符号,然后一一做解释: 我们首先看动物那个矩形框,类图分三个层次:第一层显示类的名称,如果是抽象类,就用斜体表示;第二层是类的属性,通常就是字段和属性;第三层是类的操作,通常就是方法或行为,注意前面的符号,+表示public,-表示private,#表示protected。 注意左下角飞翔,表是一个接口,与类图的区别是顶端有<<interface>>,第一行是接口名称,第二行是接口方法。接口还有一种表示方法,俗称棒棒糖表示方法 阅读全文
posted @ 2012-10-23 11:41 寒剑飘香 阅读(1041) 评论(0) 推荐(0) 编辑
摘要: 小菜工作一年多了,以前写代码很少关注设计模式的事情,一来没有系统的学习过设计模式,二来无论是项目还是产品的架构都是公司的牛人做的,自己也不用考虑这方面的东西,但是随着工作的深入,越来越觉得设计模式的重要性。面向对象的开发即继承、多态、封装,但是在面对比较复杂的项目或者产品时,好的设计模式更能体现或者说更好的实现面向对象编程的思想,所以从今天开始,小菜决定系统的学习下设计模式,和大家分享。 首先学习的是大家都熟知的简单工厂模式,我们先来看看简单工厂模式的UML类图: 从UML类图上我们可以看出,所有的运算类都继承自一个共同的父类,在父类中,提供了运算的方法,子类做具体的实现并返回结果... 阅读全文
posted @ 2012-10-23 11:14 寒剑飘香 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 这几天看博客园的博客,感悟比较深,以前一直在逛csdn或者51的博客,最近看博客园的博客,感觉挺好的。 越来越觉得自己看的东西多了,就知道自己在很多方面都是不足的。 设计模式、多线程编程、java虚拟机、tomcat源码、struts源码、mysql性能优化。 人总是要逼自己的,只有这样才会发现自己有多么大的潜力。 阅读改变生活,保持每天都阅读。 阅读全文
posted @ 2012-10-23 10:31 寒剑飘香 阅读(124) 评论(0) 推荐(0) 编辑