
程序设计/设计模式
文章平均质量分 85
DryKillLogic
Carpe Diem!
I went to the woods because I wished to live deliberately,to front only the essential facts of life,and see if I could not learn what it had to teach,and not,when I came to die,discover that I had not lived …
展开
-
FlyWeight模式
一、Flyweight模式的意图: 缓存(共享)可以共同的对象、属性,避免创建大量的重复对象、内容。 二、Flyweight模式的特点: 为重复或可共享的对象、属性设置一个缓冲,称为内部属性。这些内部属性一般情况下都是不可修改的,也就是在第一个对象、属性被创建后,就不会去修改了(否则就没意义了)。 除了共享对象、属性之外,还有一些是基于应用环境,或是实时数据,这些无法共享的转载 2013-02-17 10:39:00 · 911 阅读 · 2 评论 -
程序开发中缓存的设计
开发中使用到了缓存,用于将数据库中的数据保存到内存中,然后在查询的时候直接从内存中查出,而不用去连接数据库,从而提高效率。 我将缓存设计成了一个map,用于存储实体对象,key是这个类的id,value则是这个实体对象的引用。 public class Cache { public static Map cmCacheMap = new HashMap(); }原创 2013-03-18 10:07:18 · 824 阅读 · 0 评论 -
Observer模式
观察者模式在软件编程中用的较多,我不善于表达我就用在网上看到的故事,和生活的例子说下基本思想 故事: 小雪是一个非常漂亮的女孩,漂亮的女孩总是有很多的追求者,而且追求者的队伍在不断的变动,随时有人进入这个队伍,也有人退出。男孩们追求女孩时总是表现出120%的关心,当小雪私自游玩时总是不断收到追求者询问小雪位置变动的消息,小雪也不胜其烦,但小雪是如此的一个善良的女孩,她总是打断自转载 2014-07-09 10:25:45 · 766 阅读 · 0 评论 -
Command模式
Command模式的中心思想还是代码的解耦和,通过引入中间层来解决代码的紧耦合。 下面来看一个在日常开发中经常碰到的场景:在一个类中需要调用另一个类的实现方法,那么比较常用的开发方式如下: package com.test.command.original; /** * 接受者(具体实现类) * */ public class Receiver { public void actio原创 2014-05-15 13:04:23 · 1115 阅读 · 1 评论 -
Facade 模式
结构 二者对比可以看出差别么? 举例来看:一个坦克系统,子系统是履带系统,发动机系统,火炮系统,防卫装甲系统等。对外的接口就是暴露给使用人员的是Run(), shot(), stop()等。 如果没有采用Facade模式,开动坦克需要直接依赖履带系统,发动机系统。直接去操作履带,操作发动机? 各个接口和子系统都产生了紧耦合。 问题产生了:组件的客户(接口)和组件内各个复转载 2015-07-06 11:21:12 · 901 阅读 · 0 评论