![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 58
starchu1981
这个作者很懒,什么都没留下…
展开
-
AspectJ实现设计模式(一)——观察者模式
观察者模式是GOF中所介绍的一种常用的设计模式,本文将介绍使用AspectJ利用AOP来实现观察者模式,并通过一个简单的示例说明它的用法。 以下是AOP实现观察者模式的UML图在AOP版本中,Subject和Observer接口的成员将由抽象方面ObserverProtocol实现,而其中最关键的一点是抽象pointcut stateChange,它将由具体子方面根据不同的应原创 2003-07-22 08:01:00 · 1637 阅读 · 0 评论 -
AspectJ实现设计模式(二)——策略模式
本文将继续介绍使用AspectJ实现设计模式之策略模式,文章以一个图书折扣例子的形式描述了策略模式AspectJ版本的参考实现。 策略模式把行为和环境分割开来。环境类负责维持和查询行为类,各种算法则由具体的策略类实现。由于算法和环境独立开来,算法的增减,修改都不会影响环境和客户端。策略模式的简易UML图例如下而使用AspectJ实现的策略模式UML图与之有很大的区原创 2003-07-22 08:01:00 · 1256 阅读 · 0 评论 -
AspectJ实现设计模式(四)——抽象工厂模式
本文介绍使用AspectJ实现设计模式之抽象工厂模式,文章以IT产品生产的例子形式描述了抽象工厂模式AspectJ版本的参考实现。 抽象工厂模式是对象的创建模式,它是工厂方法的进一步推广。它为客户提供一个接口,使得客户不必在意产品类型的情况下,创建多个产品族中的产品对象。模式的简易UML图例如下现在将工厂的创建方法交由一个具体的抽象工厂方面来处理,从而具体的工厂类不需要知原创 2003-07-22 08:00:00 · 966 阅读 · 0 评论 -
AspectJ实现设计模式(六)—单例模式
本文介绍使用AspectJ实现设计模式之单例模式,文章会实现一个AspectJ版本的登记式单例类。 示例说明单例模式有以下一些基本特点·单例类只能有一个实例·单例类必须自己创建自己的唯一实例·单例类必须给所有其他对象提供这一实例 在Java中我们实现单例类一般需要使用私有构造子和一个静态实例变量,还要提供一个方法如getInstance()来构造并返回这个实例变量。原创 2003-07-22 08:00:00 · 1390 阅读 · 1 评论 -
AspectJ实现设计模式(三)——工厂方法模式
本文将继续介绍使用AspectJ实现设计模式之工厂方法模式,文章以农场园丁管理水果(读过Java与模式的读者会很熟悉它)例子的形式描述了工厂方法模式AspectJ版本的参考实现。 工厂方法模式根据产品的等级结构使用对应的工厂来创建特定的产品,它一般包括抽象工厂、具体工厂和抽象产品、具体产品,每一个特定工厂用于创建一个对应的产品。模式的简易UML图例如下下面是使用Asp原创 2003-07-22 08:01:00 · 1552 阅读 · 0 评论 -
AspectJ实现设计模式(五)—迭代子模式
本文介绍使用AspectJ实现设计模式之迭代子模式,文章以一个购买商品的例子实现AspectJ版本的内禀迭代子。由于迭代子模式应用广泛,文章在此不再赘述模式的具体内容了,我使用具体的例子说明如何使用AspectJ来完成模式所述的功能。此例子参考了与模式>>书中关于迭代子模式的示例。 图1 ——例子系统UM原创 2003-07-22 08:00:00 · 1357 阅读 · 0 评论 -
AspectJ实现设计模式(七)—装饰模式
本文介绍使用AspectJ实现设计模式之装饰模式,文章利用一个打印发票的例子说明如何使用AspectJ来实现装饰模式。 示例说明 装饰模式是大家都很熟悉的一个模式,最典型的例子就是Java的I/O库,它的设计完全按照装饰模式。我们通常在客户端使用new操作符来对一个类进行包装,例如下述代码DataOutputStream out=new DataOutputStream原创 2003-07-25 08:13:00 · 1383 阅读 · 0 评论