道德经解道之二:有之以为利 无之以为用
中国古老的哲学对于我们开发现代企业软件依然有借鉴作用。这也说明中国先秦古人的智慧和中国文化的博大精深。
J2EE事务并发控制策略总结
本文结合Hibernate以及JPA标准,对J2EE当前持久层设计所遇到的事务问题进行总结。
讨论一个现实中的需求的架构
纯从技术上讨论架构及实现,以及可能的风险,欢迎大家讨论。
算法还是最重要的?
最近两个月的笔试和面试,我慢慢觉得原来算法是最重要的。只能好好学习算法了,希望不久的将来能找份好工作。
Jdon框架5.5版本和JiveJdon3.5发布
JdonFramework 5.5版本经过严格的并发性能重构和测试,可支持JiveJdon3.5论坛10分钟内万人在线。
多核并行计算时代的来临
全世界程序员最大短处就是缺乏并行计算经验,Scala 或 Clojure也许成为替代Ruby or Rails/Groovy的明日之星。
云计算成为现实
本文介绍几个成熟的云计算解决方案,希望更多人抛弃数据库计算模型思想,转向新架构思维。
数据库岂能不亡?
道友yinyousong 通过自己理解和切身体会,认识到关系数据库不能给企业软件带来灵活扩展性和高伸缩性。
高性能锁ReentrantReadWriteLock
JDK5高并发包使得java并发性能与锁控制达到新高度,也满足了DDD对象生命周期上细腻度要求,增强了缓存性能。
孔子智慧与学习方法
没有程序处理的数据则是一盘散沙,没有方法论支持的知识则是一地鸡毛。而设计程序的程序则是智慧。
SOA与DDD
SOA与DDD所属方向不一样,甚至是两个不同方向,本文结合组件/构件进行了简单比较和分析。
Spring 和EJB终于统一融合
Spring 和EJB争吵终于即将结束,他们融合统一将在JavaEE 6中实现。
数据库已死 数据库是软件系统的主要性能瓶颈,Java击败过去拳王数据库,同时宣布数据库时代的终结。
Seam文档摘要
最近注意了一下seam文档,牛人Gavin King的观点貌似好多都曾出现在jdon,在jdon上混得久的人也许早就注意到了。
关于OO和数据库再次探讨
OO能否结合云计算替代过去数据库时代的辉煌?
关于“推”PUSH机制实现探讨
NIO Jetty6 DWR2等如何实现由服务器端将数据推给浏览器的PUSH机制?
关于OO与关系数据库阻抗的谈论
Hibernate等持久层框架中提到的实体是否就是分析领域模型中的实体呢?
订购软件的设计思路
领域建模Evans DDD案例分析。
Struts2+SPRING2.5搭配是否完美?
架构师想采用Struts2.0+SPRING2.5,我不太赞成,我觉得简单的问题复杂化了,但要给他们一个充实的理由。
ddd+up+tdd的困惑
有部分重要的业务甚至放到了数据库中去存储过程实现。关系模型和对象模型在粒度上不同,导致不匹配的问题比比皆是。
暴露领域模型的不均匀性
暴露领域模型(Exposed Domain Model)的不均匀性,不同的选择会反映出很深刻的方法论的倾向性。本文对它们作一些辨析。
著名社交网站LinkedIn的Java架构技术
在JavaOne 2008的会议上,著名社交网站LinkedIn的开发者做了其高性能架构技术的演讲,核心是分布式云计算。
跨越分析与设计的鸿沟
如何把分析转化为设计,又如何把设计模式跟域模型结合?
领域建模和ER建模谁更快?
DDD领域建模认识很好,但是具体项目我发现还是先建立数据库更快,为什么呢?
Grails消灭Dao带来的问题
Grails中领域对象可以用类的静态方法查询该类的实例,领域对象的实例可以保存、更新自己,这样消灭了DAO,那么还需要Service吗?
struts1 vs struts2
Struts2和Struts1有什么异同?struts1和Struts2现在项目应用的情况如何?
传奇Delphi软件开发工具部门被廉价甩卖
一个传奇时代的结束,代表两层C/S和数据库时代的消亡,可是它的幽魂还飘荡在Java等OO系统中(见下篇)。
领域模型VS事务脚本
同样是使用Java等对象语言,是不是就能得到对象语言的好处了呢?语言只是面具表象,关键还是思维方式的转变。
JiveJdon3中services设计的疑问
Service中是否应该只包含业务逻辑?这是一个很多人容易犯的问题,结果造成模型对象缺血,JiveJdon3展示了Evans DDD如何实现胖模型。
OO + 分布式计算 = 软件架构的方向
如果说分布式云计算是一条通往美好未来的康庄大道,那么选择怎样的座驾驶入这条道路,无疑是关系到我们每个程序员的职业素质和水平。
对象和关系数据库天然阻抗
该文主要译自TSS上最新的ODBMS一文,阐述了对象和关系数据库存在天然阻抗和不匹配,说明他们是两种不同编程世界观,既然使用OO语言,就要真正落实OO思想。
Jdon On Rails快速开发视频演示
该视频演示了Java企业软件开发的快速性,就像下面铺了铁轨Rail,称为“Jdon On Rails”,更重要的还是使用Java
讨论旧系统如何改造成面向对象?
数据库软件一旦成型是否就意味着死亡的开始,业界越是对测试工程师的渴求是否说明他们设计问题越加严重。
我到底应该学习什么?
软件就是数学吗?学习软件到底应该学习哪些课程?职业学校以及大学的软件专业课程设置是不是有问题?请您参与讨论。
前期架构设计太重要了
道友r7raul以亲身经历一个全国行业大项目来说明前期架构设计的重要性。
jivejdon3的魅力,这里也能感受到
这是一篇Jdon框架用户体验:在学习JiveJdon的过程中,我一直都是快乐的,用对象编程一切都是那么的自然。
恶意取款案是中国软件悲哀
软件认识普及率低,连很多程序员自己都不知道什么样的软件叫好软件,再加上垄断和大棒,可能会断送了中国软件的未来。
深入讨论通用权限组件的理论和设计实现
权限问复杂性主要体现在分析设计两个方面,一直是本站讨论的永恒话题,权限问题是检验一个程序员能否走向设计师的很好考题。
软件设计与哲学
哲学是一种世界观,尤其是中国的哲学如何在软件设计中转化为方法论,请各位讨论。
工商局线索管理业务的四色模型图
展示使用四色原型对一个案例的分析和思考讨论过程。
技术翻译的题外话
很多优秀书籍都汉化了,但是却让人读不懂,杜甫写了诗都要念给没读书的老妇,现怎那些翻译技术书籍的人,为什么连古人都不如?
IDE功能越来越强大,不知对于开发人员是好还是坏?
IDE已经融合了各种框架,把各种先进的编程思想融入其中,还值得花时间学习这些先进OO思想本身吗?
状态模式和hibernate
本案例涉及软件开发中分析建模、设计模式和ORM实现三个高低不同层次,如何在实践中把握它们主次是最重要的实战技能。
案例:展会系统建模
本案例以广交会官方网站为例,讨论领域建模,展示建模思考过程。
工控领域的组态软件概念
Java作为移植优越的语言,不仅在服务器市场广泛应用,逐渐也扩展到嵌入式工控系统。
对象数据库db4O
db4O是一个开源真正对象数据库(object database); 或许不只是数据库,它让我们彻底远离了SQL思维和习惯,真正实现对象编程,那么,对象数据库是否等于Hibernate+关系数据库?
案例:网上支付方式模型的实现
一般电子商务网,有在线支付功能,有的支付多种支付方式,电子商务网开发需要对支付方式做一个维护,如何使用对象思维而不是数据库思维来分析设计。
一个关于命令模式的问题
命令模式的优点是实现调用者和被调用者的松耦合,但是如何克服命令模式带来的类数量增多,导致复杂性的问题?
面向对象建模与数据库建模两种分析设计方法的比较
软件是讲究方法的,要谈方法,这个世界只有两种:一是将复杂问题简单化的方法;另一是将简单问题复杂化的方法。对于软件这个领域,你只能选择前者。
开放源码框架JdonFramework 5.1版本发布
JdonFramework 5.1重点是增加Hibernate3整合,特别是Hibernate3的懒加载支持。Struts+Jdon+Hibernate比Struts+Spring+Hibernate更简单易用!
用科学的思维方法指导软件的设计开发
恩格斯说过,一个民族要想站在科学的最高峰,就一刻也不能没有理论思维的指导,这句话对于我们的软件开发也是同样适应的。
领域驱动设计与模型驱动设计的关系
领域驱动设计(简称DDD)和与模型驱动设计(简称MDD)是当前软件领域热门词眼,领域驱动设计以模型驱动设计为根基,那么两者之间的区别于联系到底如何呢?
订单模型设计疑问
业务需求分析首先应该从对象建模开始,而不是数据表,本文通过一个小案例展示领域建模的简单讨论过程。
JBoss Seam新版本引出的思考
SSH(Struts+Spring+Hibernate)这对黄金组合可能随着Seam版本的不断推进成为过去,Spring可能再次游离于新标准Web Beans之外,开源软件的辉煌总是一刹那?
为什么面向对象的数据库不普及呢?
为什么OO和关系型数据库按照两个截然不同的理念可以并存,而不去使用面向对象的数据库呢?
从Jive2到JiveJdon3看OO发展轨迹
本文从Jive论坛这个缩影来看看OO发展历史,OO发展其间也经过较长的不断完善和发展过程,直至今天已经全面进入成熟普及阶段。
DDD 我的理解
DDD无异于将所有的业务抽象到领域层,所有的都是对象,所有的对象对自己负责,这就是面向对象;而面向过程则是将业务逻辑封装在“服务”等性质功能类中。带来扩展维护不便等问题。
多层开发中BO和PO以及应需而变的快速开发
如何能使项目针对需求的改动有更大的适应性?也就是最少的代码改动,并且只在一层做改动即可?只使用Spring+Hibernate等流行框架并不能达到这一目标,关键是编程思想的转变:以对象建模替代数据库建模。
Flyweight模式之我见
Flyweight是看似简单,但是容易被忽视又常用的模式,它和我们常用的Pool或Cache有什么关系和区别?欢迎讨论。
Hibernate等ORM使用之道
有人总以为有了关系数据库知识,就能用好Hibernate,这是认识上的误区;很多人总是先有数据表结构,然后使用Hibernate倒推类代码,这是使用上的误区,从对象模型出发才是根本之道。
发扬EJB/Spring的光辉思想,将组件化进行到底
好大的标题,看似又一篇炒作滥文,其实是道友lgx522近两年对软件架构痛苦思索徘徊后所得的经验体会,欢迎发表您的看法。
关于DDD思考:Entity中是否可以引用Repository
Repository依赖于entity是很正常的一个关系。但是entity本身需要访问数据库,如果调用repository来访问的话,变成了双向依赖,如何解决?
|