DDD,SSH...希望bang和各位高手指正我的理解误区?
一直也对JAVA EE层次架构非常感兴趣,用SSH开发居多,对于DDD的概念,真的没有听说过,看了大家很多的文章,也看不明白,或者真的要静下心来,买本书来好好学习学习。
我的理解是分层的层次有:表示层+业务逻辑层+数据库访问层, 表示层对于于MVC模型,struts1.x中的JSP相当于视图,action相对于控制器,至于model(模型)是要我们自己去实现,业务逻辑层,我们一般都设计业务逻辑接口,然后在action里面调用业务逻辑接口就行,
问题一:是不是业务逻辑接口就是大家说的service层?
在业务逻辑实现类里面写上我们具体的业务逻辑,数据库访问层我们有抽象除了DAO层,因为这样我们可以灵活的实现持久化方式,采用hibernate实现或者jdbc实现都可以;写好了我们的DAO实现类,然后在我们业务逻辑接口实现类里面调用DAO的相关方法即可,至于model,我们是始终贯穿于整个层次的。对于在action里面注入我们的业务逻辑接口实现类,和在业务逻辑实现类里面注入我们的DAO实现类,我们都是通过spring的IOC机制来实现,spring是针对接口编程的,针对接口编程,我们可以很好的利用JAVA动态代理机制,可以很好的利用AOP机制,可以方便的配置事务管理器,这是我的理解,但是
问题二:spring是封装业务逻辑的?这话什么意思,难道是说,他管理了struts和hibernate,配置各个接口的依赖关系,才说他是业务逻辑层?
这两个问题希望bang和高手们给我提供点思路,同时指正我的一些错误的观点。
问题三:大家所说的DDD有是一个什么的框架概念或者一个层次概念,对于与我上面的理解,有什么不同之处,SSH架构实现了ddd的层次概念了吗?
注:希望大家能够答复于我,谢谢各位了!
[该贴被admin于2009-04-20 08:50修改过]