zoukankan      html  css  js  c++  java
  • JavaBean和EJB的区别

    首先,EJB是指运行在EJB容器中的JavaBean。Tomcat是Web容器的参考实现。一个完整的JavaEE服务器应该包括Web容器和EJB容器。
    其次,Web容器中无法运行EJB,同时所有的JavaBean都是在服务器端运行的。如果有在客户端的话,就变成C/S结构了。
    目前来说除非需要分布式处理,不然基本上不需要考虑EJB。Spring能帮你处理好除分布计算之外的一切。
    用JavaScript来进行服务器调用的话,属于Ajax的范围了。
    至于购物车。一般来说有几种方法,一种是EJB中的有状态SessionBean。一种是使用HttpSession保存。还有就是自己建设一个对象池来处理。

    JavaBean是领域模型的具体化类,保存了信息和业务。只有set、get方法的JavaBean是失血模型。现在来说一般多少不太欢迎这种东西。把本属于领域对象的业务逻辑都丢掉了。
    实际上现在的JavaEE系统分这么几个层。
    表现层(Struts、JSF等)+应用层(处理业务,可以是JavaBean也可以是EJB)+持久层(JDBC、Hibernate)。
    不要在Struts的Action类中写业务代码,那是反模式。不然日后需要修改的时候很麻烦的。Action中只有流程指向和对应用层的调用。

    领域模型分实体、值对象和服务三部分。一般实体里写业务代码、值对象显示、服务提供相对独立的业务。失血模型指一个对象中除了get和set方法外没有任何方法的类。现在不太推荐。addobject(objece **),delete(object **)...之类的方法就是业务。这些业务封进去后,失血模型就变成了缺血模型。充血模型把持久化服务等也包了,所以也不是很号。缺血比较推荐。
    登录等流程其实是服务。推荐你去看看DDD设计的书也就是《领域驱动设计》。

  • 相关阅读:
    JEECG 不同(角色的)人对同样的字段数据,使用不同的字段验证规则
    CRM系统设计方案
    MySql concat与字符转义
    MYSQL 三元 函数
    Linux watchdog
    Prometheus & SoundCloud
    Docker存储驱动Device Mapper,Overlay,AUFS
    linux的nohup命令
    Eclipse Todo Tasks 任务试图
    Mysql drop function xxxx ERROR 1305 (42000): FUNCTION (UDF) xxxx does not exist
  • 原文地址:https://www.cnblogs.com/xiaopeipei/p/3964465.html
Copyright © 2011-2022 走看看