`
dreamstone
  • 浏览: 289035 次
  • 来自: ...
文章分类
社区版块
存档分类
文章列表
前一段时间开始写了写关于设计模式相关的随笔,今天做个目录索引,大概看了一下,有些还可以,有写则写的比较乱,写的过程中为了能更通俗易懂,尝试回忆自己刚接触这些模式时的想法,循序而写,但因为时间仓促,个人理解的偏差,有些写的过程中出错,多谢很多朋友的指出。写这些文章的时候大量参考了《Java于模式》,《设计模式》两本书,建议大家看一下,都时很好的书。目录:1,单态模式相关:    http://www.blogjava.net/dreamstone/archive/2006/11/04/79026.html2,依赖注入和控制翻转的解释: http://www.blogjava.net/dreamst ...
在这篇文章中,我写了Bridge和adapter模式的区别.但是 maninred说Bridge和adapter是没有关系的,而和Facade比较象,但在我的经验中更多的时候是会混淆Bridge和adapter而不是Facade,这里详细的列出三个模式的比较 .一,定义:1.Facade模式是为一个复杂系统提供一个简单的接口。比如你要去博物馆参观,很多东西,你一个个到处去问每个东西的管理员很麻烦,所以你找一个导游,让他给你一个个介绍,你只要找到导游就好了。导游就是门面。2,适配器模式,引用一下GOF95中的话:适配器模式是把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法 ...
一定得是N层结构,层数越多越好,层少了用户会误会我们不重视,什么数据访问层呀,实体控制层啊,能给他加上的全加上。程序员一定都得是老鸟,30以下基本不考虑,还得清一色的外企空降兵,都有10年以上编程经验的那种 ...
很多时候经常容易把桥接模式和适配器模式弄混。那什么时候用桥接,什么时候用适配器呢 ?共同点:桥接和适配器都是让两个东西配合工作不同点:出发点不同。         适配器:改变已有的两个接口,让他们相容。         桥接模式:分离抽象化和实现,使两者的接口可以不同,目的是分离。所以说,如果你拿到两个已有模块,想让他们同时工作,那么你使用的适配器。如果你还什么都没有,但是想分开实现,那么桥接是一个选择。桥接是先有桥,才有两端的东西适配是先有两边的东西,才有适配器桥接是在桥好了之后,两边的东西还可以变化。例如游戏手柄,就象个桥,它把你的任何操作转化成指令。(虽然,你可以任何操作组合,但是你的操 ...
适配器模式:如果你有两个编译好的(无源代码)类,类A有某些功能,但是需要一个xml读取模块才能工作,这个模块要实现这个接口:public interface XmlReader{       public InputStream xmlReader();}你的另一个类B恰好有这个功能,但是B实现的是这个接口:public interface ReaderXml{       public InputStream readerXml();}这个时候我们的做法是写个适配器public class Adapter implements XmlReader extends B{       public ...
一,一般来说你要做一件复杂的事情的时候,把它分成多个小的部分来做是比较好的方法,把每个小部分做完,然后结合成一个完整的事情。例如生产一辆汽车,你是一个个零件生产完了,才组装成一辆辆汽车。这个就是建造模式的工作。二,建造模式的角色1、抽象建造者2、具体构造者3、导演者4、产品角色三、实现代码 : 1抽象构造者: 2abstract public class{ 3    //构造零件
现在想到的方法有两种:1,取得的汉字拼音对照表,然後做成map.一个GB2312的对照表见这里:http://zh.transwiki.org/wiki/index.php/GB2312%E6%B1%89%E5%AD%97%E6%8B%BC%E9%9F%B3%E5%AF%B9%E7%85%A7%E8%A1%A82,这个方法看起来好,效果一般;  1    private static int[] pyvalue = new int[] { -20319, -
在99年的时候,基本是星际的时代,在那个时代的人看到这些熟悉的名字肯定会有很多感想。在早期没有rep的时候,大多数时候看的是寒羽良的战报,看的如月影和单条王子,在北邮战魂等各个地方的口水战,曾经的2v2 视频。小 ...
转载自yaoyuan附以前8da上报道老包的一片老帖子:奇迹—人族皇帝SlayerS_BoxeR 如果我是即将绽放的蔷薇 绽放只是因为 尝到想念的滋味 我要把灵魂出卖给撒旦 让你看到永不枯萎的花蕾 如果我是即将凋零的玫瑰 凋零只是因为 尝到寂寞的滋味 我要把灵魂出卖给撒旦 让你闻到永不褪却的香味   十六岁时的情诗献给的不是初恋对象,不是体育明星,不是流行歌星,不是电影明星,不是漫画主角;而是一个执掌一方天下,叱咤星海风云的电子竞技职业玩家。 个人资料: ID: SlayerS_`BoxeR` 姓名:林遥焕 生日:1980年9月4日 隶属:SK T1战队 种族: Terran 绰号: 人族皇帝 ...
visitor模式理论及学术概念-------------------   visitor模式进一步一,访问者模式的角色:抽象访问者:声明一个或者多个访问操作,形成所有的具体元素都要实现的接口具体访问者:实现抽象访问者所声明的接口抽象节点:声明一 ...
一,静态分派:1,定义:发生在编译时期,分派根据静态类型信息发生,重载就是静态分派2,什么是静态类型:变量被声明时的类型是静态类型      什么是动态类型:变量所引用的对象的真实类型3,有两个类,BlackCat ,WhiteCat都继承自Cat如下调用class Cat{}class WhiteCat extends Cat
有兴趣的话可以看看这篇文章,下边gg_shily朋友和我的一些讨论,在gg_shily的激发下,我决定仔细研究一下这个问题,在我的很多文章中都用过的字节码,我想在这里也能帮助我 。下边是分析的结果,为了方便观看,我把里边的两个类稍微变动一下 1package ov; 2 3public class Child extends Parent { 4
接受建议,改一下标题.例子不太恰当,我删除了。换成了回文中的例子。重载overloading和覆写overriding哪个更早执行--   visitor帮助篇 一:问题提出虽然我们经常写程序用到重载和覆写,但是很少会考虑他们的执行顺序。下边的内容就是关于,他们同时出现时哪个先起作用:二:问题分析Java是"动态单分派静态多分派语言",这个定义已经多次提起,如果你不了解这些概念,看这里"visitor模式准备"所以就注定了重载(静态多分派)要早于覆写(动态单分派),因为静态分派是编绎期实现的,动态分派是执行期实现的。三:验证见这里最后的部分: 看完本文 ...
访问差异类型的集合类--visitor模式入门本文对应代码下载这里一,问题提出访问同一类型的集合类是我们最常见的事情了,我们工作中这样的代码太常见了。 1 Iterator ie  =  list.iterator(); 2 while (ie.hasNext()) { 3     Person p  =  (Person)ie.next(); ...
( 1 )通用标记 <o:p> </o:p> <ww:property /> <o:p> </o:p> ...
Global site tag (gtag.js) - Google Analytics