SSH架构问题,高手进!!!
搞开发这么久了,之前都没怎么用过SSH,最近加入一个项目,感觉架构弄的好乱,想好好整理一下。在整理时产生了一个想法,如下:
service成分接口和实现层,其实一般就是一个接口对应一个实现类,现在感觉接口也没什么用,到底什么业务逻辑需要抽取接口?什么样的不需要?如果不需要的是否需要实现一个公共的service接口?
还有DAO层也是这样,现在我时想提出一个公共的basedao接口及basedaoimpl,基本所有的dao是继承这个basedao,这样是否合理?还有daoimpl也都要建立对应的接口吗?
大家给点建议吧,小的感激不尽!!!
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------对于是否使用公共接口问题取决于 项目的大小。
ssh对于大型项目管理有很大的帮助。
在大型项目进行更新时可以直接替换文件,同时更改xml配置文件就可以了。
------解决方案--------------------1。service的接口有利于以后的维护性。
比如,比如你现在做web的实现类serviceImpl,将来可能增加手机的,webservice的。。。
2。之前看过一篇文章,通过范型技术,使用了一个Dao/DaoImpl.里面就是一些基本DB操作。个人感觉挺方便。
3。Service不建议用一个,毕竟好多业务都不同。
------解决方案-------------------- 举个最简单的例子吧,你以后用了WEBSERVICE,就是别人调用你的SERVICE方法。你只需要把SERVICE接口文件打包给他就行了,如果以后修改方法实体修改你的实现类就行了,不需要修改接口。除非添加新方法或者修改参数。这样就很方便维护。
------解决方案-------------------- 还有DAO层也是这样,现在我时想提出一个公共的basedao接口及basedaoimpl,基本所有的dao是继承这个basedao,这样是否合理?
就这个问题的话,是没有问题的,但是你的这个baseDao的话必须是泛型Dao,因为一个项目不可能只有一个实体。
还有daoimpl也都要建立对应的接口吗?
要建,如果是ssh三大框架集成的话,因为在对应service里面注入接口比注入类要好,要安全,具体的原因找度娘。
service成分接口和实现层,其实一般就是一个接口对应一个实现类,现在感觉接口也没什么用,到底什么业务逻辑需要抽取接口?什么样的不需要?如果不需要的是否需要实现一个公共的service接口?
接口的使用可以加大你程序的安全性,减少依赖和类型的装箱拆箱。强烈建议多使用接口。
如果不需要的是否需要实现一个公共的service接口?
千万不要实现一个公共的service接口,除非你所有的service都有一个同样功能,这样的就可以。