随笔-126  评论-247  文章-5  trackbacks-0
 
     摘要: JFreeChart 是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括柱状图、饼图、曲线图、甘特图等。目前 JFreeChart 的最新版本是 1.0.14 ……
  阅读全文
posted @ 2012-08-07 00:03 fancydeepin 阅读(6584) | 评论 (2)编辑 收藏
     摘要: 适配器模式(Adapter 模式),将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 ……  阅读全文
posted @ 2012-08-05 16:50 fancydeepin 阅读(1119) | 评论 (0)编辑 收藏
     摘要: Builder 模式 —— 建造者模式(又译成生成器模式)的主要功能是构建复杂的产品,它是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示...  阅读全文
posted @ 2012-08-05 14:03 fancydeepin 阅读(5837) | 评论 (4)编辑 收藏
     摘要: 依赖倒转原则(Dependence Inversion Principle,简称DIP)讲的是:

1)高层模块不应该依赖底层模块,两个都应该依赖抽象。

2)抽象不应该依赖细节,细节应该依赖抽象。

依赖倒转的另外一种表述是:要针对接口编程,不要针对实现编程。

也就是说,应该使用 java 接口或抽象 java 类进行变量的类型声明、参量的类型声明、方法的返回类型声明、以及数据类型的转换等;

不应该使用具体的 java 类型进行变量的类型声明、参量的类型声明、方法的返回类型声明、以及数据类型的转换等。  阅读全文
posted @ 2012-08-04 16:18 fancydeepin 阅读(635) | 评论 (0)编辑 收藏
     摘要: 里氏代换原则(LiskovSubstitution Principle,简称LSP)说的是:一个软件实体如果使用的是一个基类的话,那么一定适用于其子类,而且它根本不能够察觉出基类对象

和子类对象的区别。也就是说,在软件实体里面,把父类都换成其子类,程序的行为是不会发生变化的。

里氏代换原则(LSP):子类型必须能替换掉它的父类型,反过来代换原则不成立。

里氏代换原则是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不会受到影响的时候,基类才能真正被复用,而衍生类也才能够在基类的基础上添加新的行为。
  阅读全文
posted @ 2012-08-02 13:18 fancydeepin 阅读(879) | 评论 (1)编辑 收藏
     摘要: 所谓的开闭原则(Open-Closed Principle,简称 OCP)说的是:软件实体(类、模块、功能等)应该可以被扩展,但不可被修改。

开闭原则说白了就是,应该在不修改现有代码的基础上,引入新功能。

开闭原则中的“开”,是指对于组件功能的扩展是开放的,是允许对其进行功能扩展的;开闭原则中的“闭”,是指对于原有代码的修改是封闭的,即不应该修改原有的代码。

而实际上,要做到百分之百的封闭是不可能的,但是在系统设计的时候,还是应该尽量做到这一点。
  阅读全文
posted @ 2012-08-02 11:03 fancydeepin 阅读(864) | 评论 (0)编辑 收藏
     摘要: 多例模式实际上就是单例模式的推广,多例模式又划分为有上限多例模式和无上限多例模式两种,有上限多例模式中的多例类的实例是有上限的,
当这个多例类中的上限数值上等于 1 时,此时,多例类退化回到了单例类;而对于无上限多例模式中的多例类,它的上限是没有限制的,也就是说它的上限数值是不确定的,
这个多例类并不一定能够退化成单例类  阅读全文
posted @ 2012-07-31 17:44 fancydeepin 阅读(4020) | 评论 (0)编辑 收藏
     摘要:

  阅读全文
posted @ 2012-07-31 11:29 fancydeepin 阅读(20466) | 评论 (0)编辑 收藏
     摘要: 工厂方法模式又称为多态性工厂模式或虚拟构造子模式;与简单工厂模式不同,在工厂方法模式中,核心的工厂类不再负责所有具体产品实例的创建,
而仅仅是需要负责给出具体工厂子类必须实现的接口,让工厂子类去负责具体产品实例的创建。  阅读全文
posted @ 2012-07-30 17:43 fancydeepin 阅读(1907) | 评论 (0)编辑 收藏
     摘要: 简单工厂模式又称为静态工厂方法模式,是工厂模式中的一种形态之一,是一个很根本的设计模式;
简单工厂模式一般涉及三个角色:工厂角色、具体产品角色、抽象产品角色,模式的核心是工厂类,这个类含有必要的逻辑判断,
它根据传进的不同参数来判断应当创建哪一个具体产品类的实例,而客户端则可以免去直接创建具体产品实例,而仅仅负责"消费"产品,这种做法很好的实现了责任的分割。  阅读全文
posted @ 2012-07-30 14:36 fancydeepin 阅读(1582) | 评论 (0)编辑 收藏
     摘要: 不扯太多概念性的东西,简单点来说,插入排序 将数组所有元素划分为有序区和无序区,假设当前数组有 N 个元素,
开始默认第一个元素(下标为0)所处的位置是有序区,假设让 i 指向无序区,第二个元素(i=1)至数组最后一个元素(i=N-1)属于无序区;
假设数组元素是按从左至右存放的,则每趟排序是将下标 i 所指向的有效值插入有序区的适当位置,使得每趟排序完成之后,有序区的所有元素总是保持有序状态。
按这样来回 N -1 趟插入之后,则 N 个元素已成有序状态。  阅读全文
posted @ 2012-07-19 00:20 fancydeepin 阅读(2649) | 评论 (0)编辑 收藏
     摘要: 与单向冒泡相似的,双向冒泡排序就是在一趟排序完成之后,同时向两端有序的将元素冒出,使得两端总是保持有序状态,中间无序。
假设有 N 个待排序元素,则最多只需要 N /2 趟排序,就能使得所有元素变成有序的了。由于最近在搞排序算法,当然,在写这篇随笔
之前也有在网上搜索过与双向冒泡排序相关的资料,我找到的都是通过嵌套了 while 循环语句来实现双向冒泡排序的,而我接下来的,
并没有这样做,而是直接在单向冒泡排序算法中直接来修改,这样很容易的也能实现双向冒泡排序;  阅读全文
posted @ 2012-07-18 17:55 fancydeepin 阅读(1074) | 评论 (0)编辑 收藏
     摘要: N 个元素数据需要进行 N - 1 趟排序,第 i 趟排序,需要对元素数据做两两比较 N - i 次,每趟排序完成之后,剩余较大的元素(升序)或较小的元素(降序)将冒到
数组最末端,此后,该项元素就此排定,不需要再移动。  阅读全文
posted @ 2012-07-18 15:25 fancydeepin 阅读(688) | 评论 (0)编辑 收藏
     摘要: maven3 入门;
如何创建一个 maven 项目;
eclipse maven3 HelloWorld;  阅读全文
posted @ 2012-07-13 13:06 fancydeepin 阅读(16995) | 评论 (1)编辑 收藏
     摘要: 前言:
逛开源社区的时候无意发现的,用了一段时间,觉得还可以,特此推荐一下。
lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码。特别是相对于 POJO,光说不做不是我的风格,先来看看吧。  阅读全文
posted @ 2012-07-12 21:53 fancydeepin 阅读(154801) | 评论 (8)编辑 收藏
仅列出标题
共7页: 上一页 1 2 3 4 5 6 7 下一页