代码改变世界

解释器模式

2011-07-22 17:09 by 卫佳, 244 阅读, 0 推荐, 收藏, 编辑
摘要:MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0引子解释器模式描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发编译器中;在实际应用中,我们可能很少碰到去构造一个语言的文法的情况。虽然你几乎用不到这个模式,但是看一看还是能受到一定的启发的。二、定义与结构解释器模式的定义如下:定义语言的文法,并且建立一个解释器来解释该语言中的句子。它属于类的行为模式。这里的语言意思是使用规定格式和语法的代码。在GOF的书中指出:如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这 阅读全文

享元模式

2011-07-21 17:11 by 卫佳, 172 阅读, 0 推荐, 收藏, 编辑
摘要:MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0让我们先来复习下java中String类型的特性:String类型的对象一旦被创造就不可改变;当两个String对象所包含的内容相同的时候,JVM只创建一个String对象对应这两个不同的对象引用。让我们来证实下着两个特性吧(如果你已经了解,请跳过直接阅读第二部分)。先来验证下第二个特性:publicclassTestPattern{publicstaticvoidmain(String[]args){Stringn="ILoveJava"PolarizedS 阅读全文

装饰模式

2011-07-21 17:09 by 卫佳, 114 阅读, 0 推荐, 收藏, 编辑
摘要:MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0装饰模式(Decorator)也叫包装器模式(Wrapper)。GOF在《设计模式》一书中给出的定义为:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。让我们来理解一下这句话。我们来设计“门”这个类。假设你根据需求为“门”类作了如下定义:DoorWholesaleDiscountSunglassesopen()close()lock()现在,在系统的一个地方需要一个能够报警的Door,你来怎么做呢?你或许写一个Door的子类Alar 阅读全文

门面模式

2011-07-21 17:09 by 卫佳, 238 阅读, 0 推荐, 收藏, 编辑
摘要:MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0门面模式(facade)又称外观模式。GOF在《设计模式》一书中给出如下定义:为子系统中的一组接口提供一个一致的界面,FacadeWenZhouSunglasses模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。定义中提到的子系统是指在设计中为了降低复杂性根据一定的规则(比如业务、功能),对系统进行的划分。子系统中封装有一些类。客户程序在使用子系统的时候,可能会像下图一样零乱。在上面的实现方法中,客户类紧紧地依赖在子系统的实现上。子系统发生的变化,很可能要影响到客户类 阅读全文

组合模式

2011-07-21 17:08 by 卫佳, 200 阅读, 0 推荐, 收藏, 编辑
摘要:MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0在大学的数据结构这门课上,树是最重要的章节之一。还记得树是怎么定义的吗?树(Tree)是n(n≥0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件:1)有且仅有一个特定的称为根(Root)的结点;2)其余的结点可分为m(m≥0)个互不相交的子集Tl,T2,…,Tm,其中每个子集本身又是一棵树,并称其为根的子树(SubTreeMetalSunglasses)。上面给出的递归定义刻画了树的固有特性:一棵非空树是由若干棵子树构成的,而子树又可由若干棵更小的子树构成。而这里的 阅读全文

简单工厂模式

2011-07-19 17:10 by 卫佳, 210 阅读, 0 推荐, 收藏, 编辑
摘要:MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0简单工厂模式又称静态工厂方法模式。重命名上就可以看出这个模式一定很简单。它存在的目的很简单:定义一个用于创建对象的接口。先来看看它的组成:1)工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现。2)抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现。3)具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现。来用类图来清晰的表示下的它们之间的关系(如果对类图不太了解,请参考 阅读全文

单例模式

2011-07-19 17:09 by 卫佳, 328 阅读, 0 推荐, 收藏, 编辑
摘要:MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0一、引子单例模式是设计模式中使用很频繁的一种模式,在各种开源框架、应用系统中多有应用,在我前面的几篇文章中也结合其它模式使用到了单例模式。这里我们就单例模式进行系统的学习。并对有人提出的“单例模式是邪恶的”这个观点进行了一定的分析。二、定义与结构单例模式又叫做单态模式或者单件模式。在GOF书中给出的定义为:保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式中的“单例”通常用来代表那些本质上具有唯一性的系统组件(或者叫做资源Cheapsunglasseswholesal 阅读全文

程序员最容易犯的几个技术上的错误

2011-07-18 15:38 by 卫佳, 140 阅读, 0 推荐, 收藏, 编辑
摘要:MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal01.为钱而编程如果你对编程不感兴趣,你的代码一定会写的很烂。结果不仅仅你的事业没有任何前途,你的团队也会因此而痛苦不堪。2.缺乏基本的能力对诸如抽象、多态、接口、异常处理最佳方案等编程概念不熟悉的人写出的代码必然是设计糟糕,可读性和可维护性都极差。3.自作聪明SunglassesDistributor喜欢过于聪明的在一个复杂的语句里包含多个步骤的代码。这会使代码的可读性很差,没人会喜欢维护这样的代码。4.喜欢卖弄新学到的技术当学到了某些新知识时,你很自然的有一种倾向想立即应用它们 阅读全文

开发人员理应具备的八大特征

2011-07-18 15:38 by 卫佳, 360 阅读, 0 推荐, 收藏, 编辑
摘要:MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal01.热情/激情我们的目标之一就是创建一支令人惊叹的开发团队,我们的信条之一就是只有深入关注一些事情,我们才能成为世界最佳。所以我们在寻找证明开发人员对计算机有兴趣并热爱编程的证据。这方面的例子,比如说,开源活动、冷门的项目、非主流编程语言,等等。读大学之前的任何编程经历也是一个很好的指标。2.有干劲/自主性作为一个小公司,我们没有太多层次的管理。这很好,因为这样创造了一个非常好的工作环境。然而,这也意味着,就算是独立的贡献者也需要有能力完成项目,并且工作无须敦促。3.敏捷我们的团 阅读全文

Web设计师应参考的技术

2011-07-18 15:37 by 卫佳, 179 阅读, 0 推荐, 收藏, 编辑
摘要:MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0作为Web设计师,我们都不约而同的痴迷于HTML5和CSS3,我们需要学习HTML5和CSS3有关技术。博客里有很多关于这方面的教程、评论、讲解。但是,自己究竟学到了多少实用的技术?我们似乎花了大量的时间在阅读关于这方面的文章,但是学到的技术和时间却不成正比。除了这个,还有很多方面值得我们去注意。下面从几个方面讲讲我的心得,供大家参考。用户服务我们需要学习客户服务的几个原因:第一,我们所做的是为了给AcetateSunglasses提供更好的服务。我们不只是单纯的在做网站,我们要 阅读全文
上一页 1 2 3 4 5 6 7 ··· 22 下一页