摘要: Template Method 模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现. 它是一个骨架,在框架的设计中多用此设计模式. 对模板方法进行挂钩: 钩子是一种被声明在抽象类中的方法,但只有空的或者默认的实现.钩子的存在, 可以让子灰有能力对算法的不同点进行挂钩.要不要挂钩,由子类自行决定. 好莱坞原则: 高层组件对低层组件的方式是"别调用我们,我们会调用你". Java代码 publicabstractclassCaffeineBeverage{//不希望子类覆盖此方法,声明为finalfinalvoidprepareRecipe(){boilWater 阅读全文
posted @ 2011-11-28 15:18 Flying Dreams 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 1、概念理解 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。2、例子 tea、coffee制作例子Coffee 具体步骤如下 煮开水,煮咖啡,倒咖啡,加牛奶,加糖Tea 具体步骤如下:煮开水,泡茶,倒茶,加柠檬(1):首先是abstract模版类Java代码 publicabstractclassCaffeineBeverage{//模版方法,定义成final是不希望子类覆盖该方法finalvoidprepareRecipe(){boilWater();//把水煮沸brew();//调制pourInCup(); 阅读全文
posted @ 2011-11-28 15:17 Flying Dreams 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 声明:转载抽象工厂是创建一系列的产品供客户代码使用,而生成器模式是生成多个产品后组合成一个产品供客户代码使用。生成器模式可以精确控制产品如何组合。因此在使用产品系列时,采用抽象工厂模式;而在需将将一系列产品组合成一个产品时,使用生成器模式2.Builder与Abstract Factory的区别:刚开始的时候,我也觉得Builder和Abstract Factory差不多,深入了解后才发觉,它们之间也是有区别的,虽然它们都是生成新对象给使用者,也可以创建复杂对象,不过Abstract Factory是立即生成新的对象,有实时性,而Builder则有可能需要多种条件都符合的时候才能生成新的对象. 阅读全文
posted @ 2011-11-28 14:31 Flying Dreams 阅读(1065) 评论(0) 推荐(0) 编辑
摘要: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://tianli.blog.51cto.com/190322/34089生成器模式属于对象结构型模式,其意图是将一个复杂对象的构建与他的表示分离,使得同样的构建创建过程可以创建不同的表示。适用性:1. 当创建复杂对象的算法应该独立于该对象的组成部分以及他们的装配方式时2. 当构造过程必须允许被构造的对象有不同的表示时。参与者: 生成器Builder:为创建一个Product对象的各个部件指定抽象接口(AnimalBuilder)。 具体生成器ConcreteBuilder:实现Bu 阅读全文
posted @ 2011-11-28 14:17 Flying Dreams 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 一、xp适用: 1. 告诉大家一种保护眼睛的好方法: 桌面->右键->属性->外观->高级->项目选择(窗口)、颜色1(L)选择(其它)将色调改为:85。饱和度:123。亮度:205->添加到自定义颜色->在自定义颜色选定点确定->确定这样所有的文档都不再是刺眼的白底黑字,而是非常柔和的豆沙绿色,这个色调是眼科专家配置的,长时间使用会很有效的缓解眼睛疲劳保护眼睛。转自:http://blog.163.com/makky123@yeah/blog/static/84927963201012203510627/2. 将电脑屏幕由刺眼的白色改为淡绿色, 阅读全文
posted @ 2011-11-26 13:32 Flying Dreams 阅读(4062) 评论(0) 推荐(0) 编辑
摘要: 在网上看见了这篇文章,作者以轻松的语言比喻了java的23种模式,有很好的启发作用。 创建型模式 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。 2、BUILDER—MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用... 阅读全文
posted @ 2011-11-25 16:54 Flying Dreams 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 概要 单例模式是最简单的设计模式之一,但是对于Java的开发者来说,它却有很多缺陷。在本月的专栏中,David Geary探讨了单例模式以及在面对多线程(multithreading)、类装载器(classloaders)和序列化 (serialization)时如何处理这些缺陷。 单例模式适合于一个类只有一个实例的情况,比如窗口管理器,打印缓冲池和文件系统,它们都是原型的例子。典型的情况是,那些对象的类型被遍及一个软件系统的不同对象访问,因此需要一个全局的访问指针,这便是众所周知的单例模式的应用。当然这只有在你确信你不再需要任何多于一个的实例的情况下。 单例模式的用意在于前一段中所关心的。通 阅读全文
posted @ 2011-11-25 14:49 Flying Dreams 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 前言:本文以《IT从业者的职业规划》一文中的职业为基础,结合笔者自身的工作学习经验,对IT从业者学习的过程进行系统规划性的分析和阐述,以期能帮助处于迷茫中的从业者们。一直想找个时间把以前的经验总结下来,记录成系列形式的文章。我喜欢系列形式的文章。看园子里的系列文章,往往有期待感,也有满足感。一来它是一个系统的学习的过程;二来也是作者的一个系统的经验总结的过程,对人对己都有益处。系列文章是能够帮助学习者一步步的从不知道到应用高手的学习的一个过程。(在此请园子里的高手们多写系列形式的文章,多谢)就象我写的《IT从业者的职业规划》一样,在这里,作为项目经理的我,也对IT从业者的职业学习过程做个规划, 阅读全文
posted @ 2011-11-25 11:14 Flying Dreams 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 从我对中国社会的观察来看,最近两个月要比上半年太平了许多,那种天天转发的微薄中到处是抗议强行拆迁的现象少多啦,何故?因为房价开始停止了上涨,老百姓在烦躁和微茫之中看见了希望,心态开始平和。然而,我们离太平盛世还有很长的距离。首先我们来看看和欧美等国家的距离。走遍欧美,我们就会发现,哪怕是偏远的小镇,也有很多中国人在生活。相对中国民众的生活,欧美无疑是中国人的天堂。不讲人均收入,单讲白领阶层和婚龄群体来讲,其收入水平就是中国一线白领阶层和婚龄群体的四倍甚至十倍,而房价水平低于中国一线城市将近20%至50%。至于社会福利和保障水平,中国无法望其项背;城市环境和空气质量、食品卫生、教育环境、人的素质 阅读全文
posted @ 2011-11-25 10:54 Flying Dreams 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 一、引子让我们先来复习下java中String类型的特性:String类型的对象一旦被创造就不可改变;当两个String对象所包含的内容相同的时候,JVM只创建一个String对象对应这两个不同的对象引用。让我们来证实下着两个特性吧(如果你已经了解,请跳过直接阅读第二部分)。先来验证下第二个特性:public class TestPattern { public static void main(String[] args){ String n = "I Love Java"; String m = "I Love Java"; System.out.p 阅读全文
posted @ 2011-11-24 16:28 Flying Dreams 阅读(179) 评论(0) 推荐(0) 编辑