Clark To Do The blog of Clark

Java设计模式:访问者模式

注:本文为译文,原文出处java-design-patterns-in-stories

访问者模式是一种被广泛应用在编译器的转换器中的设计模式, 比如Eclipse JDT AST转换器.

基本上, 访问者模式包含两个接口 - Visitor与Element.

Java设计模式:模板方法模式

注:本文为译文,原文出处java-design-patterns-in-stories

模板方法模式定义了用于实现特定操作的工作流. 它允许子类去修改特定的步骤, 而无需修改工作流结果.

下面的例子演示了模板方法是如何工作的.

Java设计模式:策略模式

注:本文为译文,原文出处java-design-patterns-in-stories

策略模式也被称为政策模式.

接下来是一个关于策略模式的故事. 设想迈克有时会超速行使, 但是他不是经常这么干. 他可能会被一个警察拦下来. 可能警察很和善, 会不开罚单让他走也或许只是简单警告一下(让我们将这种警察成为”NicePolice”). 也可能他会被一个严厉的警察拦住并且开了罚单(我们可以称呼这种警察为“HardPolice”). 直到他被拦下来, 他才知道是哪种警察. 这就是策略模式的整个场景.

Java设计模式:状态模式

注:本文为译文,原文出处java-design-patterns-in-stories

状态模式主要用于在运行时改变状态.

Java设计模式:观察者模式

注:本文为译文,原文出处java-design-patterns-in-stories

简而言之, 观者模式 = 发布者 + 订阅者.

this拾遗

Bjorn Tiplingy写过一篇JavaScript中关于this关键字的有趣的文章. 尽管这篇文章中解析了this显露自身的很多不同的方式, 但是它真的很长, 而且我认为它从错误的方向进行了说明, 导致对于简单理论的过于复杂的说明.

问题在于说明是基于如下问题的: “我写的这段代码中this是什么?”

this-你所需要知道的一切!

源自于一种智能语言, 你或许认为JavaScript中的this类似于面向对象语言(比如:Java)中的this, 会引用一些存储在实例属性内的值。 但其实不是这样, JavaScript中, 最好把它当成一个被施了无形伸展咒的背着一个装满数据背包的幻形怪。

接下来的内容, 我希望我的同事了解如何在JavaScript中使用this. 此处内容很多并且大部分都使我花了几年去学习。

Java设计模式:MVC

注:本文为译文,原文出处java-design-patterns-in-stories

Struts 2遵循模型-视图-控制器模式. 下面的图展示了Struts 2如何实现MVC的组件.

  • Action - 模型
  • Result - 视图
  • FilterDispatcher - 控制器

Java设计模式:代理模式

注:本文为译文,原文出处java-design-patterns-in-stories

本文翻译自一个国外网站, 它用一个古老的故事来描述设计模式.

Spring配置JDMK中的HtmlAdaptorServer

1.简介

JDMK(Java动态管理组件)是一种Java技术, 为开发和设计基于JMX的应用提供了一组API与工具集. 这些应用通常被称为智能代理, 因为它们在通信层之上提供了一层抽象, 同时也会提供一个Swing或SWT的图形界面.

HtmlAdaptorServer是JDMK包内的类, 它自Sun JMX 1.2.1实现中被引入. 作为一个HTML的服务器, 它可以通过浏览器来管理代理中所有的MBean. 此HTML协议适配器是作为一个动态的MBean被实现的.