孤芳不自赏

玩命工作应酬,就是年轻时最好的生活。

排序:
默认
按更新时间
按访问量

西奥多·罗斯福 《1910年在巴黎索邦演说“一个共和国的公民”》。

原文"It is not the critic who counts: not the man who points out how the strong man stumbles or where the doer of deeds could have done better...

2018-07-03 15:15:45

阅读数:118

评论数:0

MySQL 获得当前日期时间(以及时间的转换)。

获取当前日期函数 获得当前日期+时间(date + time)函数:now()  除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_timestamp()   current_timestamp localtime()   localtime ...

2018-10-18 13:37:29

阅读数:11

评论数:0

空对象模式(Null Object Pattern)。

定义 空对象模式是通过实现一个默认的无意义对象来避免null值出现,简单的说,就是为了避免在程序中出现null值判断而诞生的一种常用设计方法。 示例 举个简单的例子来说明,我们写一个听动物叫声的模拟程序,如下所示。 public interface Animal { /** * 动...

2018-10-11 14:12:31

阅读数:12

评论数:0

黑板模式(Blackboard Design Pattern)。

意图 黑板模式是观察者模式的一个扩展,知名度并不高,但是我们使用的范围却非常广。黑板模式的意图如下: 允许消息的读写同时进行,广泛的交互消息。 简单的说,黑板模式允许多个消息读写者同时存在,消息的生产者和消费者完全分开。这就像一个黑板,任何一个教授(消息的生产者)都可以在其上书写消息,任何一...

2018-10-11 11:49:12

阅读数:17

评论数:0

雇工模式(Servant Design Pattern)。

定义 雇工模式也叫做仆人模式,其意图是: 雇工模式是行为模式的一种,他为一组类提供通用的功能,而不需要类实现这些功能,他是命令模式的一种扩展。 IServiced是用于定义“一组类”所具有的功能,其示例代码如下所示。 public interface IServiced { /** ...

2018-10-11 11:35:37

阅读数:11

评论数:0

对象池模式(Object Pool Pattern)。

定义 对象池模式,或者称为对象池服务,通过循环使用对象,减少资源在初始化和释放时的昂贵损耗。 注意:这里的“昂贵”可能是时间效益(如性能),也可能是空间效益(如并行处理),在大多的情况下,“昂贵”指性能。 简单的说,在需要时,从池中提取;不用时,放回池中,等待下一个请求。典型例子是连接池和线...

2018-10-11 10:38:14

阅读数:7

评论数:0

规格模式(Specification Pattern)。

定义 组合模式+策略模式。 通用源码 规格模式非常重要,他巧妙的实现了对象筛选功能。我们来看其通用源码,首先看抽象规格书,如下所示。 public interface ISpecification { /** * 候选者是否满足需求 * * @param candidat...

2018-10-11 10:07:24

阅读数:12

评论数:0

观察者模式+中介者模式。

有一个产品,他有多个触发事件,他产生的时候触发一个创建事件,修改的时候触发修改事件,删除的时候触发删除事件,这就类似于我们的文本框,初始化(也就是创建)的时候要触发一个onLoad或onCreate事件,修改的时候触发onChange事件,双击(类似于删除)的时候又触发onDbClick事件,我们...

2018-10-10 11:52:21

阅读数:12

评论数:0

工厂方法模式+策略模式。

迷你版的交易系统 大家可能对银行的交易系统充满敬畏之情,一听说是英航的IT人员立马想当然的认为这是个很厉害的人物,那我们今天就来对银行的交易系统做一个初步探讨。国内一家大型集团计划建立全国“一卡通”计划,每个员工配备一张IC卡,该卡基本上就是万能的,门禁系统用它,办公系统用他,你想打开自己的邮箱...

2018-10-09 15:29:35

阅读数:28

评论数:0

命令模式+责任链模式。

搬移UNIX的命令 在操作系统的世界里,有两大阵营一直在PK着:*nix(包括UNIX和Linux)和Windows。从目前的统计数据来看,*nix在应用服务器领域占据相对优势,不过Windows也不甘示弱,国内某些小型银行已经在使用PC Server(安装Windows操作系统的服务器)集群来...

2018-10-08 17:46:29

阅读数:12

评论数:0

包装模式群。

定义 大家有没有发觉在很多的模式中有些角色是不干活的?他们只是充当黔首作用,你有问题,找我,但我不处理,我让其他人处理。最典型的就是代理模式了,代理角色接收请求然后传递到被代理角色处理。门面模式也是一样,门面角色的任务就是把请求转化到子系统。类似这种结构的模式还有很多,我们先给这种类型的模式定义...

2018-09-30 11:32:33

阅读数:28

评论数:0

门面模式VS中介者模式。

门面模式为复杂的子系统提供一个统一的访问界面,他定义的是一个高层接口,该接口使得子系统更加容易使用,避免外部模块深入到子系统内部而产生与子系统内部细节耦合的问题。中介者模式使用一个中介对象来封装一系列同时对象的交互行为,他使各对象之间不再显式的引用,从而使其耦合松散,建立一个可扩展的应用架构。 ...

2018-09-30 09:48:13

阅读数:43

评论数:0

策略模式VS桥梁模式。

两者之间很相似,如果把策略模式的环境角色变更为一个抽象类加一个实现类,或者桥梁模式的抽象角色未实现,只有修正抽象化角色。正是由于类似的存在才导致了两者在实际应用中经常混淆的情况发生,我们来举例说明两者有何差别。 大家都知道邮件有两种格式:文本邮件(Text Mail)和超文本邮件(HTML Ma...

2018-09-29 15:31:05

阅读数:18

评论数:0

行为类模式:观察者模式VS责任链模式。

为什么要把观察者模式和责任链模式放在一起对比呢?看起来这两个模式没有太多的相似性,真没有吗?回答是有。我们在观察者模式中也提到了触发链(也叫做观察者)的问题,一个具体的角色既可以是观察者,也可以是被观察者,这样就形成了一个观察者链。这与责任链模式非常类似,他们都实现了事务的链条化处理,比如说在上课...

2018-09-29 11:20:20

阅读数:20

评论数:0

行为类模式:策略模式VS状态模式。

在行为类设计模式中,状态模式和策略模式是亲兄弟,两者非常相似,都是通过Context类封装一个具体的行为,都提供了一个封装的方法,是高扩展性的设计模式。但根据两者的定义,我们发现两者的区别还是很明显的:策略模式封装的是不同的算法,算法之间没有交互,以达到算法可以自由切换的目的;而状态模式封装的是不...

2018-09-27 15:31:25

阅读数:16

评论数:0

行为类模式:命令模式VS策略模式。

命令模式和策略模式的类图确实很相似,只是命令模式多了一个接收者(Receiver)角色。他们虽然同为行为类模式,但是两者的区别还是很明显的。策略模式的意图是封装算法,他认为“算法”已经是一个完整的、不可拆分的原子业务(注意这里是原子业务,而不是原子对象),即其意图是让这些算法独立,并且可以相互替换...

2018-09-27 11:35:17

阅读数:13

评论数:0

结构类模式:装饰模式VS适配器模式。

装饰模式和适配器模式在通用类图上没有太多的相似点,差别比较大,但是他们的功能有相似的地方:都是包装作用,都是通过委托方式实现其功能。不同点是:装饰模式包装的是自己的兄弟类,隶属于同一个家族(相同接口或父类),适配器模式则修饰非血缘关系类,把一个非本家族的对象伪装成本家族的对象,注意是伪装,因此他的...

2018-09-26 17:19:38

阅读数:19

评论数:0

结构类模式:代理模式VS装饰模式。

对于两个模式,首先要说的是,装饰模式就是代理模式的一个特殊应用,两者的共同点是都具有相同的接口,不同点则是代理模式着重对代理过程的控制,而装饰模式则是对类的功能进行加强或减弱,他着重类的功能变化,我们举例来说明他们的区别。 代理模式 一个著名的短跑运动员有自己的代理人。如果你很仰慕他,你找运动...

2018-09-26 15:44:38

阅读数:11

评论数:0

创建类模式:抽象工厂模式VS建造者模式。

抽象工厂模式实现对产品家族的创建,一个产品家族是这样的一系列产品:具有不同分类维度的产品组合,采用抽象工厂模式则是不需要关系构件过程,只关心什么产品由什么工厂生产即可。而建造者模式则是要求按照指定的蓝图建造产品,他的主要目的是通过组装零配件而产生一个新产品,两者的区别还是比较明显的,但是还有读者对...

2018-09-26 14:25:44

阅读数:22

评论数:0

创造类模式:工厂方法模式VS建造者模式。

工厂方法模式注重的是整体对象的创建方法,而建造者模式注重的是部件构件的过程,旨在通过一步一步地精确构造创建出一个复杂的对象。我们举个简单例子来说明两者的差异,如要制造一个超人,如果使用工厂方法模式,直接产生出来的就是一个力大无穷、能够飞翔、内裤外穿的超人;而如果使用建造者模式,则需要组装手、头、脚...

2018-09-26 10:53:32

阅读数:16

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭