Welcome 微信登录

首页 / 软件开发 / JAVA

从Java类库看设计模式(1)

从Java类库看设计模式(1)

从Java类库看设计模式(1)2011-04-23 IBM 刘武东在这一部分的内容中,介绍的是一个相对简单但功能强大的模式:Observer模式。希望通 过这部分地叙述,大家看了之后,能够对设计模式有一个比较全面地,感性的认识。很多时候,对于一个设计来说(软件上的,建筑上的,或者它他工业上的),经验是至关 重要的。好的经验给我们以指导,并节约我们的时间;坏的经验则给我们以借鉴,可以减少 失败的风险。然而,从知识层面上来讲,经验只是作为一种工作的积累而存在于...
从Java类库看设计模式(2)

从Java类库看设计模式(2)

从Java类库看设计模式(2)2011-04-23 IBM 刘武东在上一部分的内容中,我们讲到什么是模式,什么是设计模式,以及对一个设计模式 Observer的详细阐叙。相信大家对于模式的概念应该是比较的理解了。这部分及以后的内容 ,将会步入正题,从Java类库的分析入手,来阐叙设计模式是如何应用到一个完美的设计中 的。实际上,Java类库非常的庞杂,这儿不可能把所有能够找到的设计模式的例子一一列举 ,只是找了一些容易发现的例子。实际上也没有必要,因为只要...
从Java类库看设计模式(3)

从Java类库看设计模式(3)

从Java类库看设计模式(3)2011-04-23 IBM 刘武东上一次主要介绍了几个创建型的设计模式AbstractFactroy,FactoryMethod和Singliton 。它们的共同的特点,都是用来创建对象的。这次接下来的内容,涉及到的是几个结构型的 模式。所谓结构型模式,就是用来解决在创建系统结构的过程中,通过对类或者对象进行合 理有效的组合,以获得更大的结构的方法。这儿主要讲到了Bridge模式和Decorator模式。对 于Bridge模...
从Java类库看设计模式(4)

从Java类库看设计模式(4)

从Java类库看设计模式(4)2011-04-23 IBM 刘武东在上一部分中,介绍了两个结构型的模式:Bridge和Decorator。这一部分的内容,将会 接着上面的讲解,继续我们的设计模式之旅。这一部分,除了还会介绍一个结构型的Composite模式之外,还会有两个行为模式登场。 实际上在前面的内容中,我们已经接触到行为模式了:Observer和Command就是两个典型的行 为模式。行为模式更多的注重于算法和对象建间职责的分配,也就是说,它会更多的...
从Java类库看设计模式(5)

从Java类库看设计模式(5)

从Java类库看设计模式(5)2011-04-23 IBM 刘武东有了前面诸多设计模式的基础,这儿可以提出一个比较特殊的模式MVC。MVC并不属于GOF 的23个设计模式之列,但是它在GOF的书中作为一个重要的例子被提出来,并给予了很高的评 价。一般的来讲,我们认为GOF的23个模式是一些中级的模式,在它下面还可以抽象出一些更 为一般的低层的模式,在其上也可以通过组合来得到一些高级的模式。MVC就可以看作是一些 模式进行组合之后的结果(实际上,MVC的出现...
java中的double运算

java中的double运算

java中的double运算2011-04-23Java中的简单浮点数类型float和double不能够进行运算。不光是Java,在其它很多中也有这样的问题。在大多数情况下,计算的结果是准确的,但是多试几次(可以做一个循环)就可以试出类似上面的错误。现在终于理解为什么要有BCD码了。这个问题相当严重,如果你有9.999999999999元,你的计算机是不会认为你可以购买10元的商品的。在有的编程语言中提供了专门的货币类型来处理这种情况,但是Java没有。现...
Java语言的Socket类

Java语言的Socket类

Java语言的Socket类2011-04-23当客户程序需要与服务器程序通讯的时候,客户程序在客户机创建一个socket对象,Socket类有几个构造函数。两个常用的构造函数是 Socket(InetAddress addr, int port) 和 Socket(String host, int port),两个构造函数都创建了一个基于Socket的连接服务器端流套接字的流套接字。对于第一个InetAddress子类对象通过addr参数获得服务器主机的...
使用EMF Validation框架来验证EMF模型

使用EMF Validation框架来验证EMF模型

使用EMF Validation框架来验证EMF模型2011-04-23 IBM 仇璐 杨晓峰EMF(Eclipse Modeling Framework)建模框架能够帮助我们将模型 (UML, XSD 等 ) 转 换成为健壮且功能丰富的 Java 代码。使用 EMF 来搭建应用程序,不但能极大的提高开发效 率,而且还能利用 EMF 提供的很多特性来保证模型的健壮和完善,主要包括模型变化通知机 制,模型的持久化以及模型验证框架。本文将要介绍的 EMF Va...
Java中的异常

Java中的异常

Java中的异常2011-04-23 博客园 逖靖寒Java异常是我们编程中时时刻刻都要使用的特性,但是我们却很少去关注它细节的一些信 息。Exception架构所有的异常都是派生至Throwable,最主要的2个继承类是Exception和Error。我们常说的异常都是指Exception,Exception分为Check Exception和Unchecked Exception。JDK文档中对Error中解释是:用于指示合理的应用程序不应该试图捕获的...
Spring中事务的传播属性详解

Spring中事务的传播属性详解

Spring中事务的传播属性详解2011-04-26我们用Spring时,很多时候都会用到他的声明式事务,简单的在配置文件中进行一些规则配置,利用Spring的AOP功能就能轻松搞定事务问题;这里面就涉及到一个事务的传播属性问题【Propagation】,他在TransactionDefinition接口中定义,有兴趣可以看看src,共有7种选项可用:PROPAGATION_REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择...
Spring中的四种声明式事务的配置

Spring中的四种声明式事务的配置

Spring中的四种声明式事务的配置2011-04-26Spring中的四种声明式事务的配置Spring容器中有两种思想很重要,也就是我们常用的Ioc和Aop,如果理解了这两种思想,对于我们学习设计模式和编程有很大的帮助,美国四人帮(GOF)写的设计模式中,有很多都用到了Ioc的思想。简单的说就是依赖注入的思想。常见的一种情况:如果一个类中要复用另外一个类中的功能时,我们可能会首先想到继承,如果你知道Ioc这种思想的话,我想你不会用继承,你会马上想到把要用...
Java中用软引用阻止内存泄漏

Java中用软引用阻止内存泄漏

Java中用软引用阻止内存泄漏2011-04-26在本文中,他将解释 Reference 对象的另外一种形式,即软引用(soft references),用于帮助垃圾收集器管理内存使用和消除潜在的内存泄漏。垃圾收集可以使 Java 程序不会出现内存泄漏,至少对于比较狭窄的 “内存泄漏” 定义来说如此,但是这并不意味着我们可以完全忽略 Java 程序中的对象生存期(lifetime)问题。当我们没有对对象生命周期(lifecycle)...
Eclipse RCP技术和OSGi规范在客户端及服务器端的应用

Eclipse RCP技术和OSGi规范在客户端及服务器端的应用

Eclipse RCP技术和OSGi规范在客户端及服务器端的应用2011-04-26 infoq 译:包亮导论 和其他行业一样,订做家具行业呈现出这样一个特点——日益变化的需求应当被反 映到从事该行业的公司使用的软件中。位于伊利诺斯州的芝加哥RPC Software公司在其产品 中通过使用开源软件从而在市场中获得了成功。该公司利用Eclipse RCP、DotProject以及 SugarCRM等技术快速地发布了一个更具有成本效益的...
EJB自管理的事务

EJB自管理的事务

EJB自管理的事务2011-04-26如果声明一个bean的事务控制为TX_BEAN_MANAGED,则这个bean可以访问事务服务。当事务控制应用于单个的方法时这个控制只能应用于整个的bean. bean访问事务服务的能力不能只对某个方法起作用。因此一个方法声明事务控制为TX_BEAN_MANAGED,而另一个方法声明为其它不同的事务控制是错误的。厂商的安装工具应该能检测到并报告这个错误。Bean分别通过初始化时setSessionContext()或s...
Eclipse商业智能与报表工具简介

Eclipse商业智能与报表工具简介

Eclipse商业智能与报表工具简介2011-04-26 infoq Jason WeathersbyEclipse的商业智能和报表工具(BIRT)项目是一个基于当今流行的Eclipse IDE的开源项 目,用于在Java或者J2EE环境下构建和部署报表。该项目提供的主要下载项中包括以下内容 :BIRT设计器—用来构建报表。Web查看器—一个用来部署报表的J2EE示例,其中包含了一个JSP标签库以降低与现存的 web应用的耦合。BI...
<< 481 482 483 484 485 486 487 488 489 490 >>