在某些时候,我们需要根据业务需求来动态的建立某些类的多个实例,而这些类是由用户自定义的。例如:在网络编程时,对客户端每次向服务端发起的TCP请求,在服务端都会建立Socket,用户对该Socket进行包装,形成类A。因此对于客户端的每次请求在服务端都有与A相应的实例。
但是类A又依赖于多个属性,是否需要队列来处理Socket,A所对应的Socket端口是多少。因此问题是:如何在服务端创建A的实例,然后将已定义好的属性注入到A中?
解决方法之一:
(1)基于Spring,将创建A的类称为W,作为Spring的一个bean;
(2)A的“包名+类名”作为W的String属性;
(3)A所依赖的队 ...
最近结合公司的项目,在读《Applying UML and patterns》第三版一书,该书是OOAD中经典巨著之一,现在读到第32章,感觉确实和一般的书不同。这本书是以软件过程UP为主线来介绍各个阶段中的OO分析和设计。该书不同于专门介绍UP的书,书中向UP中加入了Agile的思想,使得UP在实践中更容易操作;该书也不同于介绍UML语法的书,而是融入了OOAD的思想。书中描述了UP中的四个软件开发阶段,分别是Inception、Elaberation、Construction和Transition,其中主要介绍了前两个阶段。在Inception阶段,主要是对项目的需求有一个大致的了解,知道 ...
转载请注明来自:http://chillwarmoon.javaeye.com
规则的激活是指规则左部匹配成功后,建立相应的Activation,加入到Agenda。如果该规则引擎不带有Agenda,则不会有规则激活的过程,直接进行规则激发。
规则激发是指对规则引擎下达fire rule命令之后,执行规则的右部动作。若该规则引擎含有Agenda,则选择该Agenda当前的Module中所有的Activation,逐一执行每一个Activation所对应的规则的右部动作。若规则引擎不含有Agenda,则在规则的左部模式匹配全部成功后,直接执行规则的右部动作。
从实现角度来说,对于带有Agenda ...
上篇大致介绍了一下RETE算法的基础,本文采用CLIPS语言来进行规则的描述,简单阐述一下由规则生成rete network的过程。转载请注明来自:http://chillwarmoon.javaeye.com
每一个产生式系统都必须有一种或者几种相应的语言用来描述产生式,CLIPS是一种用于专家系统的计算机语言,该语言能够描述规则、自定义函数和泛型函数、面向对象编程三种知识。
在CLIPS语言中,deftemplate关键字类似于Pascal中的记录结构,也就是说deftemplate以一种类似于Pascal定义记录的方式定义了一组相关的字段。这些字段在CLIPS中用slot关键字表 ...
最近面试的时候,经常被问及自己参加的项目中rete算法的原理,但是RETE算法是一个比较复杂的算法,在短时间内不能阐述的足够清晰,在这里做个简单的介绍。转载请注明来自 http://chillwarmoon.javaeye.com
RETE算法是一个用来实现产生式规则系统的高效模式匹配算法。该算法是由卡内基美隆大学的Charles L. Forgy在1974年发表的论文中所阐述的算法。RETE算法提供了专家系统的一个高效实现。
规则推理引擎做为产生式系统的一部分,当进行事实的断言时,包含三个阶段:匹配、选择和执行,称做match-select-act cycle。RETE算法可以对匹配阶段 ...
往往大师级别的设计是简单的,易懂的,可扩展的,从不做作,整齐的代码让阅读的人感到很舒服。最近在看一个开源项目的源码,其中有好多的设计思想可以借鉴,相信这些优雅的代码也是在大量实践基础上,通过不断的重构而形成的。有一小段代码自认为写的不错,以下是源码:
EPAdministratorImpl类中:
java 代码
private static ParseRuleSelector patternParseRule;
private static ParseRuleSelecto ...
- 11:00
- 浏览 (1862)
- 评论 (5)
- 分类: design pattern
- 进入论坛
做IT的,学习新技术几乎是每天必须做的事情,无论是读纸介的书还是电子书,大家都有自己的习惯来阅读,在这里调查一下javaer们的读书习惯。
先介绍我的情况,我现在一般读的大多数是英文的电子书,为了在忘记之后,很快能够回忆起当时的状态,就在电子书上作标记,以后查阅的时候就能很快的恢复到原来的状态。
以前看书是每本书都是从头到尾的读,理解作者意图,并根据书中的例子做实验,但是发现掌握知识慢,不适合于快速发展的技术。也许是因为当时的水平还没有达到分出主次的境界。
现在对于很经典的书是从头到尾的读;
对于讲解技术的书,如果是程序层面的,就快速阅读,掌握怎么应用就可以,关键是以后用的 ...
Hibernate与事务处理一文中,介绍了事务以及并发事务处理时的问题,和针对于这些问题在数据库层所能做的隔离级别,但是在选择read commit和repeatable read两个隔离级别时,如果考虑到performance和scalability,可以选择一个折衷的方案,也就是在数据库中的隔离级别选择read commit,而通过对应用程序的控制,可以达到repeatable read的效果。Hibernate在程序中控制并发的事务处理上,也有自己的方法,本文在Hibernate与事务处理基础上,对Hibernate的这些并发事务处理方法进行介绍。
数据库隔离级别可以通过设置hiber ...
在企业应用中,事务处理是一个很重要的问题,本文阐述了事务处理的相关概念,分析了数据库级别的事务并发时产生的问题和相对应的隔离级别,最后简单谈谈Hibernate对于事务处理的方法。
1.事务(transaction)
事务被认为是一系列操作的集合,是一个工作单元(unit of work),事务的处理的结果有两个一个是commit,令一个是roll back,事务有ACID特性(atomicity,consistency,isolation, durability)。atomicity是说明事务处理过程中不能够被打断;consistency是指事务所操作的数据是一个一致性的集合,也就是这些 ...
最近的开发一直在持久层周围,虽然做hibernate也有一段时间了,但是随着数据库表的增加,遇到了一些以前没有碰到过的问题。其中有一个问题就是对集合的共享参照问题(found shared references to a collection)具体是这样的:
数据库表的关系如下:
关系是这样的ALARMINFO表通过交叉表ALARMAUDIT和AUDITINFO建立多对多关系,ALARMINFO自身是一对多的关系,ALARMINFO表和ALARMCOMPRESS表是多对一的关系。
在这里抛开ALARMCOMPRESS表不讨论,对象之间的关系是双向关联,目标是这样的:生成一个新的A ...
- 浏览: 50677 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
我的相册
审计小组
共 13 张
共 13 张
最近加入圈子
最新评论
-
Hibernate与事务处理
介意写下解决方案嘛..比如版本控制乐观锁 等等... 在项目中是如何实现的。.
-- by lanhongbo -
Hibernate与事务处理
kelvin_qu 写道写的还不错了 起码对于新手来说 在理解事物方面 省了不 ...
-- by zxbyhcsdn -
Hibernate与事务处理
fuwang 写道你要是再把你们在实际项目中的具体解决方案介绍一下就好了。 ...
-- by 咖啡豆先生 -
Hibernate与事务处理
同上!写出来分享还是不错的!呵呵
-- by 飞舞の红蝶 -
Hibernate与事务处理
谢谢楼主,豁然开朗了不少,就是缺少项目中的例子
-- by senbao18






评论排行榜