Strategy应用比较广泛,比如, 公司经营业务变化图, 可能有两种实现方式,一个是线条曲线,一个是框图(bar),这是两种算法,可以使用Strategy实现。图象压缩系列算法实现(不同的算法分别对应一个类)也可以采用Strategy模式实现。
企业管理创新和信息化进程中,仅有业务流程重组和信息集成应用是远远不够的,必须引入业务模式重组,并着力推动业务模式重组。
IBM正在进行一项颇具创意的实验,计划通过开源应用创建方式来开放其软件开发过程。 IBM的WebSphere中间件套装的首席技术官Jerry Cuomo表示,“这种公开信息的好处将对IBM软件的未来是非常关键的。” Cuomo正在计划发布软件项目控制系统的源代码,并鼓励工程师通过博客进行交流。他们可以在这儿与外界开发者或IBM客户进行交
以前做一个界面的时候常常会遇到这样的尴尬情况:希望保留各个独立的组件(类),但又希望它们之间能够相互通信。譬如Windows中的Explorer,我们希望鼠标点击左边是树型目录的一个节点,右边的文件浏览能及时列出该节点目录下的文件和子目录,类似这样一个简单的应用,如果只有一个类继承JFrame,而树型组件和浏览文件的面板作为成员
工厂方法模式发展了简单工厂模式。在简单工厂模式中只有一个具体的工厂,而在工厂方法模式中有一个工厂层次结构。这克服了简单工厂模式的缺点,使得具体工厂和具体产品可以平行的发展,从而更加符合开闭原则。
观察者模式是GOF中所介绍的一种常用的设计模式,本文将介绍使用ASPectJ利用AOP来实现观察者模式,并通过一个简单的示例说明它的用法。 以下是AOP实现观察者模式的UML图 在AOP版本中,Subject和Observer接口的成员将由抽象方面ObservERProtocol实现,而其中最关键的一点是抽象pointcut stateChange,它将由具体子方面根据不同
工厂方法模式根据产品的等级结构使用对应的工厂来创建特定的产品,它一般包括抽象工厂、具体工厂和抽象产品、具体产品,每一个特定工厂用于创建一个对应的产品。模式的简易UML图例如下 下面是使用AspectJ实现的工厂方法模式UML图 抽象方面FactoryMethodProtocol很简单只定义了抽象pointcut createMethod用于捕捉特定应用的
这样对解释器模式应该有了些大体的认识了吧,由于这个模式使用的案例匮乏,所以本文大部分观点直接来自于GOF的原著。只是实例代码是亲自实现并调试通过的。
使用 C# 2.0 的泛型,使得实现"单例提供者"成为可能。这是一个可用来创建单例类实例确不需要为每个特定的类重写单例模式代码的可重用的类。
在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。
适配器模式、桥接模式和外观模式模式之间存在着一定的关系,实际上模式不适单一存在的,在我们的现实编程生活中往往是几种模式结合使用的。
在软件系统中,有时候我们会使用继承来扩展对象的功能,但是由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀。如何使“对象功能的扩展”能够根据需要来动态地实现?同时避免“扩展功能的增多”带来的子类膨胀问题?从而使得任何“功能
建造模式是对象的创建模式。建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。
Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明的访问集合内部的数据。
[IT168 技术文档]模式对话框,可以很方便地在网页间传递数据,并且可以让用户进行线性操作,IE上的showModalDialog效果不错,但可惜其他浏览器又不支持,况且IE也远离了95%的市场占有率。网上有很多仿模式窗体,多数采用iframe技术,有的做得非常绚丽,可是我费了很大的劲却没有找到一个适合我需要的,有的不能随意弹出多级