摘要: 意图:确保一个类只有一个实例,并提供一个全局访问点适用性:1、当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时2、当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时结构图:实例: 1 package com.test.patten.singleton; 2 3 public class Singleton { 4 private static Singleton instance; 5 private String message; 6 7 private Singleton(){ 8 message... 阅读全文
posted @ 2013-03-01 20:46 Gnight 阅读(3646) 评论(0) 推荐(1) 编辑
摘要: 无论你是要养家还是要实现人生价值,如果你处在迷茫之中,希望这篇文章可以传达一些正能量,可以帮到你你所有不曾料想过的问题,都会随着时间的推移而与你不期而遇;你所有曾经潇洒的随遇而安,同样也会随时间流逝而让你承担那些似乎命中已经注定的代价。在这个世界上,“唯一不可阻挡的是时间,它像一把利刃,无声地切开了坚硬和柔软的一切,恒定地向前推进着,没有任何东西能够使它的行进产生丝毫颠簸,它却改变着一切。”我始终相信一句话:出来混,迟早要还的。虽然你我皆是凡人,只是这芸芸众生中的普通一员,但我依然希望每个人的生命都能够迎着太阳开花结果。不管以你现在的阅历是否能够理解这段话的涵义,请先记下来。我相信总有一天,你 阅读全文
posted @ 2013-02-25 21:30 Gnight 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 意图:抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类适用性:1、一个系统要独立于它的产品的创建、组合和表示时。2、一个系统要由多个产品系列中的一个来配置时。3、当你要强调一系列相关的产品对象的设计以便进行联合使用时。4、当你提供一个产品类库,而只想显示它们的接口而不是实现时。结构图:实例:1 package com.test.patten.adstractfactory;2 3 public interface AbstractFactory {4 AbstractProductA createProductA();5 AbstractProdu... 阅读全文
posted @ 2013-02-25 20:11 Gnight 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 今天是2012年上的最后一天班了,明天坐车回家过年了。回想一下今年遇到的人和事,一切还算平淡顺利。2011年12月进入的这家公司,网络安全方面的,公司主要业务都在北京,我们部门属于打酱油的,做些北京开发好的产品的定制化开发工作,需要用到的技术也是3周就能搞定,不需多大难度。就这样混到了10月份,日子一天天的重复着,期间经常被女朋友说‘不思进取...不求上进...¥……%#&……@*……’,也没感觉到啥,还是周一周五上班,周末睡觉打dota。女朋友也就放弃劝说了,采取自由放养式。。。囧大概在这个月的时候听说在北京的多个哥们工资过10K了,哎呦为,真是羡慕嫉妒恨,各种五味杂陈的感角啊。。。 阅读全文
posted @ 2013-02-01 18:03 Gnight 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 意图:定义一个用于创建对象的接口,让子类决定创建那个类。Factory Method使一个类的实例化延迟到其子类中动机:框架使用抽象类定义和维护对象之间的关系。这些对象的创建通常也由框架负责适用性:1.当一个类不知道它所必须创建的对象的类的时候2.当一个类希望由它的子类来指定它所创建的对象的时候3.当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将那一个帮助子类是代理者这一信息局部化的时候结构:工厂方法的实现主要有两种情况:1.Creator类是一个抽象类并且不提供它所声明的工厂方法的实现2.Creator是一个具体的类而且为工厂方法提供一个缺省的实现实例: 1 package c 阅读全文
posted @ 2013-02-01 10:22 Gnight 阅读(4866) 评论(0) 推荐(0) 编辑
摘要: 意图:动态的将责任附加到对象上什么时候使用:1.在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责2.处理那些可以撤销的职责3.当不能采用生成子类的方式进行扩充时结构图:示例代码:1 package com.test.patten.decorator;2 3 public interface Person {4 void doCoding();5 } 1 package com.test.patten.decorator; 2 3 public class Employee implements Person { 4 5 @Override 6 publ... 阅读全文
posted @ 2013-01-29 10:09 Gnight 阅读(10167) 评论(0) 推荐(0) 编辑
摘要: 定义:属于结构型模式,其主要作用是将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。比如你手机只有2.5mm接口(貌似就Nokia干的出来),但你只能买到3.5mm的,这时就需要买个适配器了(─.─|||意图宗旨:保留现有类所提供的服务,向客户提供接口,以满足客户的期望什么时候可以使用它:1你想使用一个已经存在的类,而它的接口不符合你的需求。没有2.5mm2你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。3你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的 阅读全文
posted @ 2013-01-26 10:59 Gnight 阅读(9572) 评论(1) 推荐(1) 编辑
摘要: 转载:http://blog.csdn.net/shuilv2000/article/details/6030387abstract class在Java语言中体现了一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在"is-a"关系,即父类和派生类在概念本质上应该是相同的。对于interface来说则不然,并不要求interface的实现者和interface定义在概念本质上是一致的, 仅仅是实现了interface定义的约定而已。abstract class Door{ abstract void open(); abstract void close();}i 阅读全文
posted @ 2013-01-05 23:57 Gnight 阅读(7562) 评论(0) 推荐(0) 编辑
摘要: 转载:http://www.oschina.net/question/28_41112闭包的定义:•闭包就是函数的局部变量集合,只是这些局部变量在函数返回后会继续存在。•闭包就是就是函数的“堆栈”在函数返回后并不释放,我们也可以理解为这些函数堆栈并不在栈上分配而是在堆上分配•当在一个函数内定义另外一个函数就会产生闭包做为局部变量都可以被函数内的代码访问,这个和静态语言是没有差别。闭包的差别在于局部变量可以在函数执行结束后仍然被函数外的代码访问。这意味着函数必须返回一个指向闭包的"引用",或将这个"引用"赋值给某个外部变量,才能保证闭包中局部变量被外部代码 阅读全文
posted @ 2013-01-05 17:06 Gnight 阅读(251) 评论(0) 推荐(0) 编辑
摘要: Servlet从某种程度上,可以将servlet看作是含有html的java程序,将jsp看作是含有java代码的html页面使用jsp还是servlet不在于功能而在于方便性、易用性和可维护性服务器只在启动时,或给出服务器专有命令重新载入web应用时,才会读取web.xml,因此,每次修改完web.xml后都要重启服务器或重新载入web应用打开servlet重新载入功能,servlet只被初始化一次找到<!-- Define properties for each web application... -->加入<DefaultContext reloadable=&quo 阅读全文
posted @ 2012-12-21 20:09 Gnight 阅读(773) 评论(0) 推荐(0) 编辑