JdonFramework 6.0发布
Jdon框架6.0全面引入Annotation,使得开发应用变得异常简单,必要时才需要XML配置文件。
标准的真正意义在于?
在JAVA企业级应用中仿佛JCP就像一个旗帜一样,但是规范真的有那么大魔力么?
REST架构本质
REST概念流行很多年,但是真正理解其优点的人不多,REST也源于高伸缩性的设计目标。
看SUN的JavaFX战略
JavaFX作为2009年JavaOne大会热点,它的现在未来将如何,RIA市场将会有什么变动?
Google App Engine vs. Amazon EC2
云计算从去年突然爆热,有可能成为类似下一个互联网概念的革命性新概念。更是2009年JavaOne大会热点。
09年必须关注的10大软件架构主题
Jdon很早提倡的DDD OO分布式缓存 集群 以及数据库已死等概念,如今已经成为世界软件业2009年必须关
缓存的思考
DDD的聚合根和不变性、内存对象和缓存、声明性设计风格甚至多核并行计算,它们可能是同属一个体系的新世界。
Java盟主SUN被收购之争
IBM收购SUN闹得沸沸扬扬,半路杀出程咬金,昔日数据库王者Oracle却探囊取物,甲骨文能否延续新的神话王者地位?
项目出了问题,不好管理,流程混乱
service层现在已经非常的庞大,一个类四五千代码,不好管理,流程混乱。
我和同事发生巨大分歧
无论从OO范式还是数据库范式,我们都存在分歧?关键是没有找到统一这两个范式理论:Evans DDD。
面向数据库与面向对象的区别
面向数据库中存在对象,面向对象同时需要数据库,这两种设计方式的最大区别在于谁是核心,数据还是对象。
jivejdon设计问题
ForumThread,AccountProfile应该是ValueObject以及值对象几个特征。
CRUD应该放在DDD的domain中吗
理解DDD需要从面向对象这个基本点出发,特别是CRUD是否应该在模型中这个基本问题。
谈框架组件(构件)的分与合
一晃眼搞了7、8年的企业应用管理和研究,各种技术、思想翻来覆去折腾了很久,最近总算是有点持拨云见目的感觉了。
道德经解道之二:有之以为利 无之以为用
中国古老的哲学对于我们开发现代企业软件依然有借鉴作用。这也说明中国先秦古人的智慧和中国文化的博大精深。
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来访问的话,变成了双向依赖,如何解决?
Java开发真的需要那么复杂吗?
看了一些java开源框架,感觉都太复杂了,特别是想把什么都写进XML文件的做法让人很不适应,为什么不能用Java来搞定一切呢?
Java Web层的下一个王者是谁?
经过数年的“框架大战”,Java界的各种框架找到了自己应有的位置。但是开发效率和软件质量依然是一对矛盾,也许谁能成功解决这对矛盾就会成为下一个王者?
盖茨北大演讲遭遇"开源人士"抗议
主流媒体将此次事件都误读为"反垄断",反垄断和开放源码其实是两个完全不同的概念,普通大众对开源的空白引发一个疑问:开源何时才能在中国兴起?请发表你对此次事件或开源的见解。
J2SE等基础的重要性?
基础很重要,但软件飞速发展,基础到底有多深?是否越底层就是越基础;基础有多广?是否数学管理等其他知识也是基础?作为企业应用开发,从哪一层基础学才最省时间精力,希望过来人谈谈自己感受。
关于tomcat死机虚拟内存使用不足的问题
没有经过性能测试的系统基本都是DEMO版本,运行中经常会内存溢出死机,很多人以为这是Java语言或TOMCAT问题,作者通过两次性能测试说明:没有资源控制和缓存设计才是问题根结。
关于是否在.net项目中实施领域建模的困惑
在上一个项目中,我们使用的是标准的伪多层伪OO的数据库为中心的架构!正像banq总结的一样,终于陷入了需求变更和维护的泥潭!所以,开始学习OO之道,企图找到问题的解决办法!
我的一个小的WEB项目中的实现方法讨论
作者觉得以前一些设计虽然做到了MVC的实现,但却不够优雅,甚至牵强。
他结合了以前做c/s软件的思路,本着简化设计的原则,提出系统实现创新思路,欢迎讨论。
谁能把Discuz5.0改版成jsp方式的?
Discuz!是国内流行功能强大但非开源的论坛软件,而JiveJdon则是按照国际最新设计水平开发的免费开源Java论坛软件,两者是否可以PK一下?
纯理论的老问题.长方形和正方形的继承关系
在类的定义中,大家一直争吵不休的就是正方形和长方形的关系。一个事物必然要包括一个约束问题,只要它符合一个约束,就可以定义它为类。
致面向对象技术初学者的一封公开信
这是当初1996年Alistair Cockburn就对象建模和数据建模关系一篇论述,知史而晓今,这对当前国内程序员如何从基于数据库分析设计过渡到面向对象分析设计有一定参考。
回顾2006: 对话Jdon 一个开源人的孤独告白
时隔一年,2007年1月,JdonFramework成熟应用JiveJdon3.0正式上线试运行了,感谢很多默默支持的朋友,他们通过各种方式表达了对Jdon的支持,新春到来之际,再次感谢他们。
jsp+javabean能否满足同时100人使用?
使用jsp+javabean+数据库连接池,服务器是双核至强3G内存,能否满足100人同时访问使用?其实,如果了解Java性能机制,我们将才会知道什么是性能设计之本。
敏捷开发讨论?
国内大多数软件开发公司都在从瀑布模型向增量开发模型转变,那么如何才能在转变的过程很好的把握住 敏捷 呢?。
RoR可否替代J2EE/JavaEE?
最近在一本杂志上看到,使用Ruby on Rails开发Web应用十分高效,我始终认为我们目前所用的开发模式(使用J2EE架构+MVC模式,但未用EJB)效率不太高,想换一种架构。
两年的技术经历,在J2EE上疑惑?
我们谈论了J2EE,但究竟什么是J2EE?它是规范吗?它是技术吗?我们也谈架构?但究竟什么是架构?架构出于什么目的?架构的目标是什么呢?
EJB3与EJB2架构对比
本文从实战角度比较EJB2和EJB3的异同,通过深入剖析揭示EJB3.0的真相
ajax框架与服务端框架
有了ajax,客户端可以访问静态的带有javascript的html页。 页面的所有表单元素数据都通过 XMLHttpRequest请求得来,这样还需要有服务器端控制层吗?胖客户端有什么优势啊?
Simplify the Best:轻量框架
将最好的技术简易使用,轻量反映我们对好技术的更易于使用一种要求。轻量框架是现在和未来构件/组件架构发展的方向。
关于构件化动态组合开发的思路
由于现在公司业务比较广,原来的系统和业务功能一直在增加,并且出现多个版本或者多个系统,在管理和应用上出现很多问题,现在想开发一个框架,它能够动态灵活的增加/删除子系统。
关于领域建模与角色权限问题
角色类在领域建模的时候怎么关联?如何实现权限和业务设计的分离?
什么是OO思想?
看见人家在谈OO思想,我很惶恐,也很迷惘,什么是OO思想!怎么来培养自己的OO思想呢?
领域服务与应用服务的职责
在领域设计中,划分为三种模型,分别为:实体(Entity)、值对象(Value Object)、和服务(Service)。其中Service与我们传统设计中的Service有什么不同呢?
Java EE/J2EE面向对象编程之道
一个真正面向对象的JavaEE/J2EE系统,应该是围绕领域模型的多层架构,以OO思维进行模型提炼和重构,继续以OO思维进行表现层和持久层配置实现,这才是化复杂为简单的软件解决之道。
如何通过Hibernate提高访问数据库的速度
项目中我们用到了struts1.2+hibernate3由于关系复杂表和表之间的关系很多,导致数据一加载很慢,而且查询一条数据更是非常的慢!也许不使用ORM是一条简单之道?
"新闻发布系统”的面向对象分析和设计的过程
以新闻发布系统为例子,大家来讨论如何进行分析和设计的?怎么处理类与类之间的层次,和通信?
当前Java项目开发中几种认识误区
由于大多数人没有进行过面向对象的系统培训和教育,导致很多人认识不足,在实践中造成各种基本架构问题,导致Java项目失败,还将失败原因归结于Java复杂。
在完整提交前临时保存的事务问题
用户需要一系列表单提交后才能最后持久化保存,在这之前只能使用应用服务器内存临时寄存,例如用户注册时,需要经过多个步骤或页面才能完成,如何确保这个过程的事务性?
领域模型驱动设计(DDD)之模型提炼
一个正确的OOA/OOD/OOP步骤是什么呢?目前围绕模型驱动设计(MDD)的设计思想成为主流思想,本文让我们了解领域建模的第一步。
功能驱动开发FDD的探讨
FDD是一种模型驱动开发的软件过程,和XP一样是敏捷软件开发方法的一种。
觉得Hibernate影响设计思路
玩hibernate有些日子了,但一直没敢在大型项目里用,主要是有种感觉:hibernate对设计思路有很大的干扰,那么,是Hibernate干扰我们设计思路,还是我们自己的设计思路本身需要改变?
面向對象分析實踐過程是什么?
面向对象分析和设计完成了,怎么过渡到数据库设计?到底是否需要数据库设计?
为什么大家抱着数据库思路不放呢?这实际和我们传统思维有关。MDD(模型驱动设计)/DDD实际就是革"数据库"命的。
实战DDD(Domain-Driven Design领域驱动设计)
领域建模是一种艺术+数学的技术,它是用来解决复杂软件快速应付变化的解决之道。2004年著名建模专家Eric Evans发表了他最具影响力的著名书籍:Domain-Driven Design 。
国人免xml配置的持久层实现快速开发的框架
Speedframework是一个完全基于JDBC开发的轻量级持久层框架. 它可以直接调用SQL,也可以直接对POJO进行CRUD操作,代码与ORM相当.调试方便,不用配置,内置JCS缓存,能有效降低数据库压力。
从JBoss Seam看Java框架发展
有人说:Struts+Spring+Hibernate是一种非常好的架构选择,Hibernate创建人Gavin King可能不同意这样选择是最完美的,否则,他不会再重新发明相同轮子,再次开发Seam。
层的职责的请教
很多J2EE/JEE系统都不重视Service业务层,甚至将业务逻辑全部写在MVC的Controller中,混淆了层次划分,丧失可维护性,但是简单系统中的Service好像和DAO重复,如何解决?
关于color modeling的一点疑惑
RUP是从业务模型->用例模型->分析模型->设计模型->实现模型。color modeling四色原型直接从业务分析出了模型类,然后直接可以生成代码,差别好像挺大的,还是存在某种联系?
Java程序员应该熟练掌握那些技术?薪酬多少?
道友limb做java程序员快一年了,感觉自己提升不是很大,打算换工作了.但是不知道怎么给自己定位,通常一年的java程序员应该熟练掌握那些技术呢?薪金应该定在多少合适呢?请发表意见!
J2EE网站经验共享
道友aill讲解其博客论坛和新闻网站的主要架构技术,从表现层的MVC模式、命令模式实现,到安全架构以及缓存实现,欢迎大家讨论和交流!
命令模式--我的理解
道友xyz活学活用了Command,他认为模式命令+组合+责任链比较好用,组合模式的加入,可以使得我们的命令可以随意组合,重用。
DSM:Domain-Specific
Modeling
DSM是超越UML/MDA一种新的建模方法,它将软件直接面向建模专家或系统分析师,然后运用自定义自动化代码生成技术,能够成倍提高软件开发效率。
解耦合设计的一个困惑,请大家讨论
为提高内聚性,降低耦合度,想做一个这样子的BO(因为项目必须用BO这种框架),不需要在一个类里实现所有的功能,在DS(Domain Service)调用BO的时候完全不会感觉到这种差异。如何办?
Feature-Driven
Development(特征驱动开发)
使用JdonFramework等现代Model/Service框架是在什么项目工程背景下进行的?不是以前的XP(Extreme
Programming )或RUP,而是FDD。
UML和Java的阻抗
UML核心标准竟然无法表达POJO的属性以及Services(服务)这两个Java领域如今非常时髦的概念,真是很奇怪!如果Java和UML这种发展概念不匹配下去,我们真的要问UML过时了吗?
|