自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 [初级]设计模式--享元模式

/** * 享元模式 * * 如果程序中存在大量的对象,并且对象之间也较为类似 * 这样,对象之间类似的部分就可以共享出来,这样就减少了内存开销 * * 1、具体实体类(大量对象中可共享部分) * 2、工厂类(共享池,返回已有对象或创建新对象) * 3、外部状态(大量对象中可不共享部分) * * 优点: * 1、节省内存开销 * 缺点:...

2016-02-06 11:18:41 98

原创 [初级]设计模式--建造者模式

 /** * 建造者模式 * * 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 * * 1、建造者接口,定义建造者需要提供的功能 * 2、指挥者类,定义了建造过程 * 3、具体建造者提供建造的具体实现 * * 优点: * 1、客户端调用时不用知道内部细节,指定建造者即可 * 2、建造者之间是相互独...

2015-12-31 11:14:59 88

原创 [joy]POI导出Excel简单扩展(一)

学习实践 目标:1、简化POI导出Excel的调用,方便使用(只提供数据即可)。2、具有一定的扩展性(整体默认样式、单元格样式)。3、对一些设计模式的具体实践。 技术要求:对POI进行扩展。模仿JSONObject(JsonValueProcessor)、easyui的datagrid(formatter/styler)。模板方法模式、桥接模式。 ...

2015-12-18 16:31:52 193

原创 [初级]设计模式--模板方法模式

 /** * 模板方法模式 * * 实现算法时,整体过程很固定,只有部分易改变 * 则可以将固定的部分提取到父类中实现,由子类实现易变的部分 * * 基本方法: * 1、抽象方法:父类声明,由子类具体实现 * 2、具体方法:父类实现,子类可以根据情况进行覆盖或直接继承 * 3、钩子方法:子类重写的父类方法 * * 优点: * 1...

2015-11-05 20:59:38 80

原创 [js]Easyui组件扩展--fieldset

效果图: 各文件路径(我的extra文件夹与easyui文件夹在同一等级):extra\fieldset\lq.fieldset.js主要js文件extra\fieldset\lq.fieldset.css主要样式文件extra\fieldset\lq.fieldset.html测试页面extra\fieldset\images\panel_...

2015-11-02 10:23:23 1331

原创 [初级]设计模式--装饰模式

 /** * 装饰模式 * * 类似于代理模式 * 与代理的区别: * 1、真实角色持有(?) * 代理:代理角色并不一定需要调用者提供真实角色(调用者不需要持有真实角色) * 装饰:调用者需要持有真实角色,并提供给装饰器 * 2、真实角色控制 * 代理:代理角色返回任意真实角色,甚至不返回真实角色 * 装饰:对传入的真实角色进行装饰,然后...

2015-10-30 17:11:59 91

原创 [初级]设计模式--备忘录模式

 /** * 备忘录模式 * * 1、源发器类(具体的业务类/需要备份的类) * 2、备忘录类(拷贝类,用于恢复) * 3、负责人类(管理所有的拷贝) * * 将对象在某个时间点信息保存起来,方便以后查看 * * 优点: * 1、具体的备份过程交给实体类,保持了封装性 * 2、备份保存在实体类以外(负责人类),实现了单一职能 ...

2015-10-29 21:29:05 90

原创 [初级]设计模式--桥接模式

 /** * 桥接模式 * 解决多维度可变属性造成的多类问题 * (用到了组合,但与 组合模式 没关系) * * 场景: * 各大品牌生产电子产品 * 品牌:联想、戴尔、苹果 * 产品:台式机、笔记本、pad * * 如果采用继承的方式实现类结构,那类的数量则是一个乘积的关系 * (联想、戴尔、苹果)*(台式机、笔记本、pad)...

2015-10-23 16:23:16 99

原创 [初级]设计模式--适配器模式

 /** * 适配器模式 * 1、源角色(已有的角色) * 2、目标角色(需要成为的角色) * 3、适配器角色(将 原角色 转换成 目标角色) * * 优点: * 1、不用修改已有代码 * 2、复用已有代码 * 缺点: * 1、会造成类相互之间的关系不清晰 * * 注意: * 属于"补丁"方法,尽量不要有机会使用 *...

2015-10-22 20:45:38 120

原创 [初级]设计模式--观察者模式

 /** * 模拟 观察者模式 * 场景: * 小孩睡觉,家长工作 * 小孩醒来,家长喂饭 */public class ObserverDemo01 { public static void main(String[] args) throws InterruptedException { MyBaby b = new MyBaby(); My...

2015-10-21 22:03:15 75

原创 [初级]设计模式--工厂模式

/** * 所有工厂模式都是为了让对象的调用者和对象创建过程分离,简化调用端代码,便于维护 * 简单地对象创建则不需要使用工厂模式 *//** * 简单工厂(静态工厂) * * 1、创建产品接口 * 2、创建工厂类 * 3、工厂类通过传入参数的不同返回不同的产品 * * 优点: * 1、代码调用简单,类之间的关系也较简单 * ...

2015-10-20 17:11:55 88

原创 [初级]生产者消费者问题

     /** * 灰烬之灵EM(同一场景、同一资源) */public class EM { /** * 最大充能数量 */ private final int MAX_F_COUNT = 3; /** * 火之余烬F 充能个数 */ private int count; /** * 火之余烬 个数是否已满 *...

2015-10-15 11:26:39 145

原创 [初级]设计模式--动态代理模式

 /** * 通过 java.lang.reflect.Proxy 实现动态代理基本写法 * * 由于代理类实现代理功能的模式基本相同,所以我们可以写一个通用的方法去代理所有的实现类 * * 实现大致思路(动态编译): * 1、通过String去拼 XxxProxy.java 文件中的代码 * 2、生成文件 * 3、编译 运行 返回结果 * (...

2015-10-12 17:07:15 71

原创 [初级]设计模式--静态代理模式

 /** * 通过接口方式实现静态代理(聚合) * * 1、定义公共接口(IMoveable) * 2、定义真实对象 继承接口(IMoveable) 实现功能(Tank) * 3、定义代理类 继承接口(IMoveable) 实现前后逻辑/业务逻辑(TankTimeProxy/TankLogProxy) * * 调用的时候可以通过修改代理顺序来来改变逻辑...

2015-10-12 16:59:59 119

原创 [初级]线程

创建线程三种方法:/** * 线程创建方法1:创建线程类 * 1、创建线程类,继承Thread并重写 run() 方法 * 2、创建对象实例,调用对象 start() 方法来启动线程 */public class CreateTest1 { public static void main(String[] args) { Rabbit rab = ne...

2015-10-12 16:52:09 88

原创 [初级]设计模式--单例模式

/** * 单例设计模式(单ClassLoader) * * 1、懒汉式: * 线程不安全、调用效率高、可以延迟加载 * 线程安全、调用效率低、可以延迟加载(加 synchronized 线程安全) * 2、恶汉式: * 线程安全、调用效率高、不可以延迟加载 * 3、静态内部类: * 线程安全、调用效率高、可以延迟加载 * 4、双重检测...

2015-10-10 16:22:01 72

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除