`
dawnzhang
  • 浏览: 43351 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
文章列表
在过去几年中,我们将敏捷方法应用于数据库设计中。我们总结出一些技巧,使得当应用程序发展时,数据库也能够进化,这是敏捷方法的一个重要属性。我们的方法是通过持续集成以及自动重构,通过数据库管理人员(DBA)和应用开发人员的紧密合作。这些技巧在应用开发的各个时期都有效。 1 敏捷方法学 近年来,出现了一种新的软件开发方法学—敏捷方法学。这给数据库设计提出了一些新的、巨大的需求。这些需求的一个中心就是进化设计。在一个敏捷项目中,需要假定我们并不能事先确定系统的需求。因此在项目的初期有一个详细设计阶段的想法是不现实的。系统的设计必须随着软件的变化而进化。敏捷方法,尤其是极限编程(XP),通过一些实践使 ...
1.Duplicated Code   代码重复几乎是最常见的异味了。他也是Refactoring的主要目标之一。代码重复往往来自于copy-and-paste的编程风格。与他相对应OAOO是一个好系统的重要标志。   2.Long method   它是传统结构化的“遗毒”。一个方法应当具有自我独立的意图,不要把几个意图放在一起。   3.Large Class   大类就是你把太多的责任交给了一个类。这里的规则是One Class One Responsibility.   4.Divergent Change   一个类里面的内容变化率不同。某些状态一个小时变一次,某些则几个 ...
软件方法论在近期被屡屡提及,我不知道是国内的开发团队真的需要,还是如当初 ISO/CMM 那样作为一个标签被缝在脑门上做装饰。当然,只要是做事自然就有方法论,只不过在一堆理论和文案的背后找寻一个适合自己适合公司团队的却不难么容易。我所了解的一些公司,其管理方式已经彻底沦落为文牍主义,没完没了的管理文档变成了工作人员巨大的负担,最后那些装饰精美的文档在某个未知的角落里成为垃圾。 传统的瀑布(Waterfall)开发模式依然是现今最常用的方法论和开发方式。将开发过程划分为需求分析(Requirement Analysis)、系统分析(System Analysis)、系统设计(System Des ...
    住在玻璃房子里面的人不互相扔石头。这是搞博弈论的人经常引用的一句话。没错,一般说来,脑子正常的人都会出于自己的利益和对长期生存的盘算,而不得不和那些与之共享资源与空间的人们共同营造、维持某种利于 ...
JBOSS版本:jboss-4.0.4.GA EJB版本:EJB3.0 有两个EJB通过annotation注入(@EJB)的方式互相调用,在发布EJB时JBOSS会提示EJB依赖,导致EJB发布失败。 究其原因是JBOSS在发布EJB时会检查EJB中的@EJB标签,并判断该标签指定的EJB是否发布,如果该EJB没有发布,就会提示EJB依赖。解决方法是在EJB的construct方法中通过lookup方式注入依赖的EJB. 同样的情况在GlassFish中可以正常发布。
控制台信息: c:/ruby/lib/ruby/1.8/readbytes.rb:21:in `read': Invalid argument (Errno::EINVAL)  from c:/ruby/lib/ruby/1.8/readbytes.rb:21:in `readbytes'  from c:/ruby/lib/ruby/gems/1.8/gems/postgres-pr-0.4.0/lib/postgres-pr/message.rb:32:in `read'  from c:/ruby/lib/ruby/gems/1.8/gems/postgres ...
在当今这个ORM的时代,我们的Domain Object不经意间变成了一个个Data Object,EJB3的EntityBean尤为如此。 曾经尝试过在EntityBean中加入其CRUD及业务方法,让它看起来好像是一个Domain Object。DAO没有了(这个东东更像是面向过程,我们这里抛开Design Pattern),直接在SessionBean中操作EntityBean来完成Business。 问题来了,EntityBean由容器负责persistence,通过Annotation无法给EntityBean注入EntityManager,需要从SessionBean获取再交给它,这 ...
Global site tag (gtag.js) - Google Analytics