在公司里,感觉很多人都是在用面向对象语言进行面向过程的变成,代码里面充斥了if..else..和硬编码,一直想写出高质量的面向对象的代码和系统,一直找不到高人请教。我想用面向对象的方式去设计系统,在看了设计模式后,想在系统中加入相应的设计模式,但是不知道具体该怎么样加入。举个例子,现在公司里面做的web系统,使用struts2+spring+hibernate去实现的,一个action对应一个相应的service,一个service对应一个相应的dao,一个dao对应一张数据库的表。具体实现方式是:用户通过浏览器做一些操作,然后到xxxAction中,xxxAction调用xxxService,xxxService调用xxxDao,xxxDao访问数据库,然后逐级向上返回结果,最终由xxxAction返回相应的响应。这个方式几乎存在于整个系统,最多也就是在xxxService对传入的数据或者从数据库中查询出的数据进行一定的处理,处理的方法都是写在xxxService中的。在此过程中怎样加入设计模式?我现在的一个想法是把service层当做一个Facade,系统的业务逻辑耦合在Facade里,Facade用来关联我封装好的各个与业务相关的模块,在这些模块中运用设计模式去设计并根据需求调用相应的dao。不知道我这个想法对不对,如果不对,应该怎么做?本人愚钝,最好是能具体的说明一下。因为今年6月刚毕业,经验还太少,真诚的希望各位高手能给一些建议,在此多谢了!!! 

解决方案 »

  1.   

    考虑到便于多人协作开发以及维护的便利性,action、service和DAO才是一一对应的。它们之间是可以一对多或多对多的!关于设计模式的问题本人也比较愚钝,虽说是面向对象的编程,我感觉对于小型的项目,面向对象显得更加繁琐。
    设计模式什么的,没怎么接触过撒=_=! (正在成长中的菜鸟。。)