功能简单,代码复杂,迁连太多,效率低,容易出错。    最近看到spring的论谈说,功能实现,与逻辑判断分离,也就是一种思想,写各种功能方法,功能模块,分出逻辑判断,某个权限可以做哪些操作,直接写在逻辑处里面,需要什么功能就调用什么功能,重用性高。    大家能否深入说说这种思想吗?给些资料。    QQ:624030518,有兴趣一起交流。

解决方案 »

  1.   

    楼主可以考虑
    1、front客户端实现用户界面
    2、各个逻辑判断等在脚本语言中定义
    3、各个service功能(主要是与DB交互的功能模块)用java实现这样的话就可以在脚本语言中按照需求进行功能调用,并且可以实现多个用户的自定义,当然也就实现了高度的重用性了
      

  2.   


    那是一条可行的思路啊。尤其是在前端利用JS进行功能调用的逻辑判断,似乎是当前比较流行的一招。要不自己写过功能调用的控制器,利用java的反射机制,实现功能的动态组合调用。
      

  3.   

    符合MVC模式就行了!模型,视图,控制器。
      

  4.   

    功能与逻辑判断分离设计上一般都是如此嘛。
    有兴趣可以了解下WSBCC(WebSphere Business Components Composer)框架是如何面对这样一种设计的。
    (WSBCC的代码中只有拥有功能的操作步,逻辑的判断全部在配置文件中实现。)
    能实现的方案是多样的,但真正做到分离却又付出什么样的代价才是需要注意的。
      

  5.   

    Ralasafe(http://www.ralasafe.org/zh),是可以解开系统的权限逻辑与业务逻辑的耦合,达到权限与业务分离。楼主说的逻辑判断,也可以称为“决策”吧。因为很多情况下,这种逻辑判断,还要和上下文变量、当前登录用户和当前操作数据有关联,这就是Ralasfe的决策权限了。Ralasafe是采用Mit协议开源免费的国产中间件。
      

  6.   

    楼上说的非常有道,非常认同,不过还不知Ralasfe是什么东东,去看看,
      

  7.   

    规范好后 用ANT脚本创建一下 可以通用
      

  8.   

    我不会使用ant,那个东西先放放。
      

  9.   

    楼主可以采用spring security 能够很好的控制权限问题,能够很好的管理好每个用户所拥有的权限,每个用户能够访问的资源等,而且这些都是在配置文件中实现,能够很好的分离权限逻辑判断和实际义务逻辑判断。楼主可以去试试。
      

  10.   


    嗯,但是觉得spring有点臃肿。