关于模型的独立性
摘要: 文字写完以后,突然想起来很久以前在JavaEye上看的关于贫血模型、富血模型、充血模型的讨论。最后的结论大概与持久化无关的业务逻辑应该放在模型中实现,而与持久化有关的逻辑要放到Service中实现。看这几多文字,其实也就是说这么个意思,不过多说一些。闲话休提,正文开始。
在大结构上系统描述为上面的图形。关键元素是领域模型、领域服务、基础服务。能够精准的反应业务的模型,和围绕模型的有效的服务,是软件团队在某一行业领域生产成果价值的两个很重要的体现。领域服务作为系统的核心逻辑之一,一方面,承担着完成所有与技术环境相关的业务逻辑的实现,另外一方面,作为领域模型和技术环境的缓冲,保证了领域模型的普适、独立。
阅读全文
工厂模式ABC
摘要: 这段文字最初是回复水木上一个mm的问题,问为什么要用工厂,整理之后,发到这里来。
工厂模式是创建模式,封装对象的创建过程。对象的创建最简单的方式是new出来,但是有一些情况下用new来创建对象会导致代码难以维护。
阅读全文
Struts请求处理过程简要描述
摘要: 翻了一下Struts2的代码,理出了一个基本执行流程,应改可以对struts的结构有个了解了,另外,也可以由此找到一些扩展点。
阅读全文
Ext.XTemplate使用入门
摘要: Ext.XTemplate是Ext中关于页面模板的一个组件。用来将数据和模板组合出最终的html。所谓数据指的是javascript的对象。EMP在loadEntityToPage中使用了这个组件。
阅读全文
当JsonPlugin遇到CGLib
摘要: JsonPlugin在分析类结构并序列化时,对于CGLig动态生成的类也是按照一般类来看待的。这就导致了两个问题:一个是去序列化了生成的子类中的本不应该序列化的属性,另外一个是由于CGLIB导致的Annotation丢失而引起的本不应该发生的序列化逻辑。简单的修改了一下JSONPlugin的代码,来避免上述的两个问题。
阅读全文
在基于Spring及Hibernate应用程序中使用ETags降低带宽占用和服务器压力
摘要: Gavin Terrill 发表于2007.7.11 上午 8:45
讨论区:Java 主题:Web框架、集群及缓存
导言
REST方式的应用程序构架在近日所产生的巨大影响突出了Web应用程序的优雅设计的重要性。现在人们开始理解“WWW架构”内在的可测量性及弹性,并且已经开始探索使用其范例的更好的方式。在本文中,我们将讨论一个Web应用开发工具——“简陋的、卑下的”ETags,以及如何在基于SpringFramework的动态Web应用程序中集成这个工具,来提高应用的性能及可测性。
我们将要使用的基于Spring的应用程序是基于“petclinic”(宠物门诊?)的一个应用。在您下载的程序包中,包含了如何加入必要的配置和源代码让你亲自体验该程序的介绍。
阅读全文
关于Atlassian的两个软件 JIRA 和 Confluence
摘要: Atlassian Confluence(简称Confluence)是一个专业的wiki程序。它是一个知识管理的工具,通过它可以实现团队成员之间的协作和知识共享。
Confluence使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息,文档协作,集体讨论。目前,Confluence被用于广泛地用于项目团队,开发团队,市场销售团队。
阅读全文
长标题显示字数处理
摘要: 很多情况下,我们需要控制长标题的显示字数。在客户端用JavaScript控制显示最大字数后,由于js把任何字符都当作1个长度来处理,由此导致全角和半角字符显示的实际长度不同。
例如我们设置某个文章列表页面所有的文章标题最长显示10个字符。那么如下的题目:
这篇文章是测试标题长度显示的文章
I love my country.I love all of you.
处理后,将分别显示为:
这篇文章是测试标题长
I love my (注意最后还有一个空格)
假设我们是按照中文的宽度来确定10个字符这个标准的,那么当标题是英文等半角字符时,显然太短了。反过来,如果我们按照英文等半角字符来确定显示字符数量标准,那么如果题目是中文的时候,又很容易出现自动换行等我们不希望出现的结果。
本文尝试以一种笨拙的办法处理这个问题。即使用js检查字符串中的每一个字符,如果发现有两个(注意不一定相连)的半角字符,那么就将显示长度标准加1。
阅读全文
提高Hibernate 3 启动速度(翻译)
摘要: 原文地址:http://www.hibernate.org/300.html
在Tomcat5.5.x环境下,调用Configuration().addCacheableFile来载入配置,建立Hibernate SessionFactory,成功地提高了载入速度。
推荐你只是在开发阶段采用这样的方式载入,最后的产品发布阶段你仍需使用经典的Hibernate.cfg.xml文件,通过Tomcat的ServletContextListener API在应用程序部署的时候建立Hibernate SessionFactory,而不是在程序第一次调用Hiberante的时候。
阅读全文
一些链接(二)——关于缓存
摘要: Spring框架的声明式缓存服务
Spring框架提供了声明式的缓存服务,看样子似乎不错:
原文地址:http://dev2dev.bea.com/pub/a/2006/05/declarative-caching.html
中文译文:http://www.crackj2ee.com/Article/ShowArticle.asp?ArticleID=661
阅读全文