摘要: Observer模式 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 让一个对象(观察者,Observer)去监视另一个对象(目标,Subject); 它使得目标和观察者之间建立一种 "发布--订阅"(publish-subscribe )的关系。通过Observer模式,观察者可以向目标登记,表明自己要从目标接收事件。目标需要向观察者通知事件时,只是简单地将事件发给每一个观察者。Observer模式的好处是: 它解除了观察者和目标之间的耦合关系。 目标不需要知道它的观察者的任何信息。 相反,目标只是允许观察者订阅事 阅读全文
posted @ 2012-02-13 21:53 万法自然~ 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 问: 为什么需要模式?答: 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。 有了模式,你就能一次又一次的使用该解决方案而不必做重复(探索的)劳动。-----------------------------------------------------------------------------------------------------------------J2EE平台是分层系统,我们按职责将J2EE的层次模型化,共分了五个层次: 客户层、表示层、业务层、集成层和资源层。因为客户层和资源层并不是J2EE平台直接关注的问题,所以后面介绍的21个... 阅读全文
posted @ 2012-02-13 21:47 万法自然~ 阅读(419) 评论(0) 推荐(0) 编辑
摘要: MDB是基于JMS技术支撑的,MDB实际上消息的消费者;进一步说,MDB是在标明自己是MDB身份的前提下的消息的消费者,那它就必须做到两点:一、继承javax.ejb.MessageDriverBean(标明MDB身份)二、继承javax.jms.MessageListener (说明自己是消费者)参考:http://hjw2java.iteye.com/blog/838062 阅读全文
posted @ 2012-02-13 16:29 万法自然~ 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 1、synchronized不能继承, 父类的方法是synchronized,那么其子类重载方法中就不会继承“同步”。2、构造两个线程之间实时通信的方法分几步:(1). 创建一个PipedWriter和一个PipedReader和它们之间的管道;PipedReader in = new PipedReader(new PipedWriter())(2). 在需要发送信息的线程开始之前,将外部的PipedWriter导向给其内部的Writer实例out(3). 在需要接受信息的线程开始之前,将外部的PipedReader导向给其内部的Reader实例in(4). 这样放入out的所有东西度可从i 阅读全文
posted @ 2012-02-13 16:27 万法自然~ 阅读(126) 评论(0) 推荐(1) 编辑
摘要: 1、Bridge模式:将抽象和行为划分开来,各自独立,但能动态的结合起来(好象搭建了一座桥)。 在EJB中,是将商业逻辑和数据库访问这样的行为划分开来,数据库访问专门放置在DAO中了。2、Adapter模式:将特定的数据源驱动接口适配到DAO接口中去3、工厂模式:创建对象,达到接口和实现分离的目的4、单例模式:创建工厂类5、Facade模式:SessionFacade,将具体工作封装到EJB bean中6、Proxy模式:对EJB对象的调用实际是对EJB代理对象的调用参考:http://blog.csdn.net/hdy007/article/details/1458539 阅读全文
posted @ 2012-02-13 16:23 万法自然~ 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 1、Annotation替代了配置文件 凡是EJB2中使用配置文件定义的;EJB3一般都可以使用 annotations定义(当然EJB3也支持配置文件定义); 凡是EJB2通过JNDI寻找的资源(调用容器中其他EJB、调用环境变量等Resource资源等),都是可以依靠annotations+依赖注射机制完成。2、持久层使用Java Persistence API 替代了EJB2的实体Bean。参考:http://www.jdon.com/artichect/EJB2_EJB3.html 阅读全文
posted @ 2012-02-13 16:16 万法自然~ 阅读(229) 评论(0) 推荐(0) 编辑