`
calmness
  • 浏览: 353386 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论
文章列表
源代码分析,是一件既痛苦又快乐的事情,看别人写的代码是通过的,但当你能够看明白的时候,相信快乐也会随之而来,为了减少痛苦,更快的带来快乐,在这里希望通过这篇文章对觉得困难的朋友有一个帮助。 本文以spring框架的XmlBeanFactory为入手点进行分析,希望能够以尽量简洁明了的方式给予有需要的朋友一定的帮助。 首先来打开该类的代码,我们将看到如下代码: public class XmlBeanFactory extends DefaultListableBeanFactory { private final XmlBeanDefinitionReader reader ...
前一两天在讨论群里,我提出过一个关于接口暴露的问题与群友们进行讨论,后来无甚结果,所以把自己这一问题在这里提出来,希望和大家讨论讨论。    该问题主要是关于对外接口暴露的问题(此接口并非指java中的interface,而是指用户编程时可使用的接口),例如有一个类的大部分方法是不应该暴露给用户的,然而事实上,因为设计问题,任何一个用户都可以创建该类的实例以至于使用它,虽然在实际当中,可能没有用户会去这样做,不过我认为如果能够尽量避免这种情况应该是最好的选择。但是又该如何避免呢?    我想这种问题出现的主要原因体现在设计者在对象职责分配上想尽可能的达到分散职责让程序更容易进行维护,这种目的 ...
    在一些软件项目当中,很多时候都存在一些明显是错误,但又因为企业自身种种问题而无法改变的业务流程,而我一直认为,一个软件设计者,除了根据客户的需求进行设计,同时更应该通过与客户的交流,以达到双方对领 ...
上一文安装篇讲述了如何把jpetstore导入netbeans工程,现在所有已经准备就绪,接下来就可以开始进入正题了。 首先,我先大概介绍一下jpetstore的整体架构,spring的这个版本主要使用了struts+spring+ibatis的框架组合,而在MVC层的框架,这个版本又同时提供了两个实现版本,一个是struts,一个是spring 自带的web框架,而数据库持久层使用的是ibatis框架,这个框架是一个SQL映射框架,轻量级而且使用非常容易,基本上会使用JDBC的朋友看一两个小时就会使用了。 下图是该应用的一个简略架构图,没有什么好的工具,就大概画了一个,虽然比较简单,不过 ...
之所以写这个jpetstore研究入门的文章,是为了给茫然不知如何入手的新人们提供点参考,每一个人都经历过新人时期,我想也正是因为当初的我对没人指导的痛苦深有体会,才更希望能够有一份详细点的入门参考,之所以选择spring的jpetstore版本,那是因为考虑到目前spring框架最受欢迎的原因,好了,废话就不多说了。 首先让我们从下载安装开始,在此我所介绍使用的IDE是sun公司的netbeans5.5,之所以选择这款软件,是因为我觉得它的集成度较高,不需要像eclipse那样下载如此多的插件,有人会说eclipse使用myeclipse就OK了,也不需要下载什么插件,不过myeclips ...
    相信很多新手朋友们对J2EE应用环境的配置以及工具的使用都非常头疼,特别是很多新手朋友在研究类似petstore这类demo应用的时候,虽然每个petstore都直接提供了ant的build,但是很多新人朋友都不知道如何把应用通过IDE来部署,特别是使用eclipse的时候,一大堆的插件以及配置都非常的烦人,搞了很久也搞不定,在这里,我建议各位新人朋友可以使用netbeans,netbeans是什么?不用我介绍了吧,其实我以前也没用过,只是最近robbin推荐过使用netbeans开发ruby时,下载了一个来试试,发现它除了开发ruby很方便以外,开发java一样非常方便,不用像ecli ...
一个不错的工具,我想不用介绍了吧,找到一个下载速度不错的地址,特地拿来分享一下: VISIO 2003 SN:WFDWY-XQXJF-RHRYG-BG7RQ-BBDHM Visio 2003 Service Pack 2
概要 单例模式是最简单的设计模式之一,但是对于Java的开发者来说,它却有很多缺陷。在本月的专栏中,David Geary探讨了单例模式以及在面对多线程(multithreading)、类装载器(classloaders)和序列化(serialization)时如何处理这些缺陷。 单例模式适合于一个类只有一个实例的情况,比如窗口管理器,打印缓冲池和文件系统,它们都是原型的例子。典型的情况是,那些对象的类型被遍及一个软件系统的不同对象访问,因此需要一个全局的访问指针,这便是众所周知的单例模式的应用。当然这只有在你确信你不再需要任何多于一个的实例的情况下。 单例模式的用意在于前一段中所关心的。通过 ...
    今天在aptana看到“Aptana + RadRails: better together”这篇文章,才知道RadRails将与Aptana结合,以下是该文章正文: 引用 We’ve always been excited about building the best IDE for web developers, and we’re happy to announce a new partnership: Aptana will be taking over the RadRails project and providing a seamless, integrated expe ...
   最近在和朋友做一个小的系统,对系统进行设计时与朋友的理念有所冲突,于是乎就想起了一个老问题,那就是正方形与长方形的继承问题。     OO可以说是现实世界在计算机世界的一个映射,而对于正/长方形,实际上是对正/长方形数学定义在计算机的一个映射的问题。 首先我们来看看在现实中,长方形的定义: 有一个直角的平行四边形是长方形。 再来看看判定定理: 定理1:有三个角是直角的四边形是长方形。 定理2:对角线相等的平行四边形是长方形。 以上就是长方形在现实中的定义以及判定定理。以此来看,正方形完全符合以上定义以及判定定理,所以可以得出正方形就是长方形,是它的一种特例。 在阎宏博士所学的《j ...
转自IBM开发社区,作者:Bill Higgins 服务器端 Web 应用程序因采用富应用程序模型和交付个性化内容而具备了融入式(immersive) 的特点,这种特点越突出,应用程序架构对 Web 架构风格 REST(Representational State Transfer)的违背就越多。这种违背会降低应用程序的可伸缩性,增加系统复杂性。通过与 REST 相互协调,Ajax 架构将使融入式 Web 应用程序消除这些负面影响,尽享 REST 那些出色的特性。 在短短 15 年中,World Wide Web 已经从一项研究实验成长为现代社会的技术支柱。最初发明 Web 的目的是使人们可以 ...
        在论坛里看了daquan198163所写的《初学ROR的疑惑》这篇文章,robbin在回复中给了详细的解答,可是看完解答之后,我也产生了一些疑惑,在此想问问。         在robbin所给出的解答当中,更多的是阐述rails的好处,然 ...
        刚开始接触ruby,作为一个以JAVA开发为主的程序员,ruby的代码风格多少让我有点不太适应,也许习惯了复杂的风格,再简单起来就比较困难了吧, 看来没有其他语言牵绊的话,学起ruby应该更快。         今天看了下ruby中的迭代器和代码块,这两个概念在其他语言当中也有,但是ruby中的迭代器和代码块却给我焕然一新的感觉,也让我更加了解到ruby代码简短的一个原因,正所谓实践出真知,就让我举个简单的例子吧:         一个包含一个存储字符串的数组的类,写一个[]方法,方法传递一个key参数,如果参数为整数则直接用索引返回字符串,如果不是整数则判断数组中是否存在该值, ...
        注册终于满了三天,终于可以动手写BLOG了,有点郁闷,javaEye无论从哪方面来看,都是不错的社区,唯一让俺觉得有点烦的就是发帖的这个限制,必须要三天后才可,本来看到一些不错的帖子,想回帖或者是跟大家一 ...
Global site tag (gtag.js) - Google Analytics