关闭

观察者模式与事件驱动模式实例比较

观察者模式所涉及的角色有:   ●  抽象主题(Subject)角色:抽象主题角色把所有对观察者对象的引用保存在一个聚集(比如ArrayList对象)里,每个主题都可以有任何数量的观察者。抽象主题提供一个接口,可以增加和删除观察者对象,抽象主题角色又叫做抽象被观察者(Observable)角色。   ●  具体主题(ConcreteSubject)角色:将有关状态存入具体观察者对象;在...
阅读(211) 评论(0)

Agent和Broker的差别是什么?

agent你应该在计算机科学里见过,比如智能agent,多agent环境等等。两个都有“代替委托方操作”的意思,但是具体还有有一些差别。 Agent虽然是代理,但是有自己的环境适应方式,委托人只下达指令,如何完成指令由agent自己决定,所以agent又被称为有代理身份的主体;broker更多地体现被动分,更倾向于“经纪人”,决策主要有委托方来完成,在搞权限委托下也可以做很多决策。简单地说,br...
阅读(219) 评论(0)

设计模式——Spring IoC中用到的模板方法模式

http://www.cnblogs.com/gnidoc/p/4981447.html 基本概念 什么是模板方法(Template method):父类定义了骨架(调用哪些方法及顺序),某些特定方法由子类实现。 最大的好处:代码复用,减少重复代码。除了子类要实现的特定方法,其他方法及方法调用顺序都在父类中预先写好了。 所以父类模板方法中有两类方法: 1、共同的方...
阅读(450) 评论(1)

分布式模式之Broker模式

问题来源:  创建一个游戏系统,其将运行在互联网的环境中。客户端通过WWW服务或特定的客户端软件连接到游戏服务器,随着流量的增加,系统不断的膨胀,最终后台数据、业务逻辑被分布式的部署。然而相比中心化的系统,复杂度被无可避免的增大了,该如何降低各个组件之间的耦合度。 挑战:  需要保证可伸缩性、可维护性、可更新性,需要将服务划分为各个相对独立的组件,组件被分布式的部署,它们之间通过进程间通信方...
阅读(100) 评论(0)

加载一个类时,其内部类是否同时被加载?静态内部类单例模式

加载一个类时,其内部类是否同时被加载?下面我们做一个实验来看一下。  Java代码   public class Outer {       static {           System.out.println("load outer class...");       }              //静态内部类       static class...
阅读(124) 评论(0)

从 MVC 到前后端分离

从 MVC 到前后端分离 1 理解 MVC MVC 是一种经典的设计模式,全名为 Model-View-Controller,即 模型-视图-控制器。 其中,模型 是用于封装数据的载体,例如,在 Java 中一般通过一个简单的 POJO(Plain Ordinary Java Object)来表示,其本质是一个普通的 Java Bean,包含一系列的成员变量及其 getter/setter ...
阅读(351) 评论(1)

《JAVA与模式》之状态模式

状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。   状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。 状态模式的结构   用一句话来表述,状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类。状态模式的意图是让一个对象在...
阅读(266) 评论(0)

《JAVA与模式》之策略模式

策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 策略模式的结构   策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:...
阅读(248) 评论(0)

Java:单例模式的七种写法

转载出处:http://cantellow.javaeye.com/blog/838473 第一种(懒汉,线程不安全):  1 public class Singleton {    2     private static Singleton instance;    3     private Singleton (){}     4     public stati...
阅读(1038) 评论(0)

《JAVA与模式》之装饰模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述装饰(Decorator)模式的:   装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 装饰模式的结构   装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情...
阅读(407) 评论(0)

枚举类型的单例模式(java)

Inspired by Effective Java. Singleton模式是在编程实践中应用最广泛的几种设计模式之一。以前知道的,实现单例的方法有两种(下面的A、B)。刚刚在读《Effective Java的时候》学到一种新的更好的方法(E):单元素的枚举类型。同时通过网上资料也知道了其他两种方法(C、D)。最后一种在Java中从1.5版本开始支持,其他语言在验证后说明。 A.饿汉...
阅读(353) 评论(0)

工厂方法模式与抽象工厂模式

一、引子        话说十年前,有一个暴发户,他家有三辆汽车——Benz奔驰、Bmw宝马、Audi奥迪,还雇了司机为他开车。不过,暴发户坐车时总是怪怪的:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上Audi说“开奥迪车!”。你一定说:这人有病!直接说开车不就行了?!        而当把这个暴发户的行为放到我们程序设计中来时,会发现这是一个普遍存在的现象。幸运...
阅读(896) 评论(0)

责任链设计模式(过滤器、拦截器)

责任链设计模式(Chain of Responsibility)的应用有:Java Web中的过滤器链、Struts2中的拦截器栈。 先看一个问题: 给定一个字符串“被就业了:),敏感信息,”,对其中的HTML标记和敏感词进行过滤或替换。 本文主要以该问题设计方法的演变来讲解责任链设计模式。 第一种设计:没有任何设计模式 设计了一个MsgProcessor类,完成字符串处...
阅读(2564) 评论(0)

Java 之工厂方法和抽象工厂模式

1. 概念     工厂方法:一抽象产品类派生出多个具体产品类;一抽象工厂类派生出多个具体工厂类;每个具体工厂类只能创建一个具体产品类的实例。     即定义一个创建对象的接口(即抽象工厂类),让其子类(具体工厂类)决定实例化哪一个类(具体产品类)。“一对一”的关系。       抽象工厂:多个抽象产品类,派生出多个具体产品类;一个抽象工厂类,派生出多个具体工厂类;每个具体...
阅读(405) 评论(0)

java设计模式—工厂模式

一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。   工厂模式在《Java与模式》中分为三类: 1)简单工厂模式(Simple Factory):不利于产生系列产品; 2)工厂方法模式(Factory Method):又称为多形性工厂; 3)抽象工厂模式(Abstract Factory):又称为工具箱,产生产品族...
阅读(367) 评论(0)
32条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:6996207次
    • 积分:61371
    • 等级:
    • 排名:第34名
    • 原创:250篇
    • 转载:2617篇
    • 译文:3篇
    • 评论:663条
    文章分类
    最新评论